KR20240021542A - Mobile digital twin implement apparatus using space modeling and virtual plane generating method - Google Patents

Mobile digital twin implement apparatus using space modeling and virtual plane generating method Download PDF

Info

Publication number
KR20240021542A
KR20240021542A KR1020220099985A KR20220099985A KR20240021542A KR 20240021542 A KR20240021542 A KR 20240021542A KR 1020220099985 A KR1020220099985 A KR 1020220099985A KR 20220099985 A KR20220099985 A KR 20220099985A KR 20240021542 A KR20240021542 A KR 20240021542A
Authority
KR
South Korea
Prior art keywords
plane
closed
model
space
created
Prior art date
Application number
KR1020220099985A
Other languages
Korean (ko)
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 KR1020220099985A priority Critical patent/KR20240021542A/en
Publication of KR20240021542A publication Critical patent/KR20240021542A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

공간 모델링을 통한 모바일 디지털 트윈 구현 장치 및 가상 평면 생성 방법이 개시된다. 본 발명의 일 실시예에 따른 모바일 스캔 디지털 트윈 구현 시 가상 평면 생성 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램은, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 현실 공간 및 그 내부에 배치된 사물을 모바일 스캔하여 3차원 모델을 생성하고, 공간 머지와 사물 머지를 통해 공간 모델과 사물 모델을 분리하는 단계; 사용자 명령에 상응하여 삭제할 상기 사물 모델을 선택하는 단계; 선택된 상기 사물 모델을 삭제 처리하는 단계; 및 상기 사물 모델과 접하는 상기 공간 모델의 평면에 발생하는 삭제 영역을 메꿀 가상 평면을 생성하는 단계를 포함할 수 있다. A mobile digital twin implementation device and virtual plane creation method through spatial modeling are disclosed. A computer program stored in a computer-readable medium to perform a virtual plane creation method when implementing a mobile scan digital twin according to an embodiment of the present invention, the computer program causes the computer to perform the following steps, The steps include generating a 3D model by mobile scanning the real space and objects placed therein, and separating the space model and the object model through space merging and object merging; selecting the object model to be deleted in response to a user command; Deleting the selected object model; and generating a virtual plane to fill a deleted area occurring in a plane of the space model that is in contact with the object model.

Description

공간 모델링을 통한 모바일 디지털 트윈 구현 장치 및 가상 평면 생성 방법{Mobile digital twin implement apparatus using space modeling and virtual plane generating method}{Mobile digital twin implement apparatus using space modeling and virtual plane generating method}

본 발명은 모델링 기술에 관한 것으로, 보다 상세하게는 공간 모델링을 통한 모바일 디지털 트윈 구현 장치 및 가상 평면 생성 방법에 관한 것이다. The present invention relates to modeling technology, and more specifically, to a mobile digital twin implementation device and virtual plane generation method through spatial modeling.

3차원 스캐닝은 이미지 센서를 이용하여 대상물의 3차원 형상을 나타내는 3차원 모델을 생성하는 기술을 말한다. 3차원 스캐닝 방식에는 사람이 스캐너를 들고 그 위치를 조정하면서 대상물의 여러 부위를 스캔하는 수동 방식과, 로봇 등에 의해 스캐너 혹은 대상물의 위치가 자동 조정되면서 대상물의 여러 부위를 스캔하는 자동 방식이 있다. 3D scanning refers to a technology that uses an image sensor to create a 3D model representing the 3D shape of an object. There are two types of 3D scanning methods: a manual method in which a person scans various parts of an object while holding a scanner and adjusting its position, and an automatic method in which various parts of an object are scanned while the position of the scanner or object is automatically adjusted by a robot.

이러한 3차원 스캐닝을 통해 획득한 스캔 데이터를 이용하여 3차원 모델을 생성할 수 있다. 기존에는 사물 단위의 모델링은 있었지만, 사무실이나 집안과 같은 공간 전체에 대한 모바일 스캔을 통한 모델링은 쉽지 않은 한계가 있었다. A 3D model can be created using scan data obtained through such 3D scanning. Previously, there was object-level modeling, but modeling through mobile scanning of an entire space such as an office or home had its limitations.

한국공개특허 제10-2020-0045321호 (2020.05.04. 공개) - 공간 스캔 장치 및 그 정보 처리 방법Korean Patent Publication No. 10-2020-0045321 (published May 4, 2020) - Spatial scanning device and its information processing method

본 발명은 모바일 단말을 이용한 공간 스캔 및 모델링을 통해 모바일에서 디지털 트윈(digital twin)을 구현하고 사용자에게 현실 공간 및 사물을 3차원 디지털로 재창조하여 제공해 줄 수 있는 공간 모델링을 통한 모바일 디지털 트윈 구현 장치 및 가상 평면 생성 방법을 제공하기 위한 것이다.The present invention is a mobile digital twin implementation device through spatial modeling that implements a digital twin on mobile through spatial scanning and modeling using a mobile terminal and provides users with a 3D digital recreation of real space and objects. and to provide a method for creating a virtual plane.

본 발명은 사용자가 소지한 일반적인 모바일 단말에 구비된 카메라를 이용해 촬영한 공간에 대한 3차원 모델을 생성하고, 공간 내에 배치된 사물을 분리한 뒤 사물이 삭제된 영역에 가상 벽 및/또는 바닥/천장을 생성해 냄으로써 순수 공간에 관한 모델을 만들 수 있는 공간 모델링을 통한 모바일 디지털 트윈 구현 장치 및 가상 평면 생성 방법을 제공하기 위한 것이다. The present invention creates a three-dimensional model of a space captured using a camera installed in a general mobile terminal owned by a user, separates objects placed in the space, and then places virtual walls and/or floors in the area where the objects were deleted. The purpose is to provide a mobile digital twin implementation device and a virtual plane creation method through spatial modeling that can create a model of pure space by creating a ceiling.

본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.Other objects of the present invention will become clearer through the preferred embodiments described below.

본 발명의 일 측면에 따르면, 모바일 스캔 디지털 트윈 구현 시 가상 평면 생성 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은, 현실 공간 및 그 내부에 배치된 사물을 모바일 스캔하여 3차원 모델을 생성하고, 공간 머지와 사물 머지를 통해 공간 모델과 사물 모델을 분리하는 단계; 사용자 명령에 상응하여 삭제할 상기 사물 모델을 선택하는 단계; 선택된 상기 사물 모델을 삭제 처리하는 단계; 및 상기 사물 모델과 접하는 상기 공간 모델의 평면에 발생하는 삭제 영역을 메꿀 가상 평면을 생성하는 단계를 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램이 제공된다. According to one aspect of the present invention, there is a computer program stored in a computer-readable medium for performing a virtual plane creation method when implementing a mobile scan digital twin, wherein the computer program causes the computer to perform the following steps, The steps include generating a 3D model by mobile scanning the real space and objects placed therein, and separating the space model and the object model through space merging and object merging; selecting the object model to be deleted in response to a user command; Deleting the selected object model; A computer program stored in a computer-readable medium is provided, including generating a virtual plane to fill a deleted area occurring in a plane of the spatial model that is in contact with the object model.

상기 가상 평면 생성 단계는, 상기 삭제 영역과 인접된 공간 메쉬를 찾고, 벽과 바닥으로 구분하는 단계; 상기 벽의 삭제 영역의 주변 포인트를 상기 바닥으로 프로젝션하여 프로젝션 포인트를 획득하는 단계; 상기 벽의 삭제 영역의 주변 포인트와 상기 프로젝션 포인트로 제1 폐쇄선을 만들고, 그 내부를 평면 메쉬로 채운 제1 폐쇄 평면을 생성하는 단계; 상기 바닥의 삭제 영역의 주변 포인트와 상기 프로젝션 포인트로 제2 폐쇄선을 만들고, 그 내부를 평면 메쉬로 채운 제2 폐쇄 평면을 생성하는 단계; 및 상기 제1 폐쇄 평면과 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면을 생성하는 단계를 포함할 수 있다.The virtual plane creation step includes finding a spatial mesh adjacent to the deletion area and dividing it into a wall and a floor; acquiring a projection point by projecting a peripheral point of the deleted area of the wall onto the floor; creating a first closed line using peripheral points of the deleted area of the wall and the projection point, and creating a first closed plane whose interior is filled with a plane mesh; creating a second closed line using peripheral points of the deletion area of the floor and the projection point, and creating a second closed plane filling the inside of the projection point with a planar mesh; and generating the virtual plane by combining the first closed plane and the second closed plane.

상기 제1 폐쇄 평면을 생성하는 단계는, 상기 법선이 Z축 방향인 경우 XY 평면 메쉬를 생성하고, 상기 법선이 X축 방향인 경우 YZ 평면 메쉬를 생성할 수 있다.In the step of generating the first closed plane, an XY plane mesh may be created when the normal is in the Z-axis direction, and a YZ plane mesh may be created when the normal is in the X-axis direction.

상기 사물 모델이 상기 공간 모델과 접하는 면이 1개일 경우, 상기 삭제 영역의 주변 포인트를 이용하여 폐쇄선을 생성하고, 상기 폐쇄선 내부를 평면 메쉬로 채움으로써 상기 가상 평면이 생성될 수 있다.When the object model has only one surface in contact with the space model, the virtual plane can be created by creating a closed line using peripheral points of the deletion area and filling the inside of the closed line with a plane mesh.

상기 사물 모델이 상기 공간 모델과 접하는 면이 2개일 경우, 상기 삭제 영역은 벽 부분의 제1 삭제 영역과 바닥 부분의 제2 삭제 영역으로 구분되고, 상기 제1 삭제 영역의 주변 포인트를 바닥으로 프로젝션한 프로젝션 포인트를 이용하여 생성된 제1 폐쇄선의 내부를 평면 메쉬로 채움으로써 제1 폐쇄 평면이 생성되며, 상기 제2 삭제 영역의 주변 포인트와 상기 프로젝션 포인트를 이용하여 생성된 제2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제2 폐쇄 평면이 생성되고, 상기 제1 폐쇄 평면과 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면이 생성될 수 있다.When the object model has two surfaces in contact with the space model, the deletion area is divided into a first deletion area on the wall and a second deletion area on the floor, and the peripheral points of the first deletion area are projected onto the floor. A first closed plane is created by filling the inside of the first closed line created using one projection point with a plane mesh, and the surrounding points of the second deletion area and the inside of the second closed line created using the projection point are created. A second closed plane can be created by filling it with a planar mesh, and the virtual plane can be created by combining the first closed plane and the second closed plane.

상기 사물 모델이 상기 공간 모델과 접하는 면이 3개일 경우, 상기 삭제 영역은 서로 이웃하는 벽 부분의 제1-1 삭제 영역 및 제1-2 삭제 영역과 바닥 부분의 제2 삭제 영역으로 구분되고, 상기 제1-1 삭제 영역 및 상기 제1-2 삭제 영역의 주변 포인트를 바닥으로 프로젝션한 제1-1 프로젝션 포인트 및 제1-2 프로젝션 포인트와, 상기 제1-1 삭제 영역 및 상기 제1-2 삭제 영역 중 어느 하나의 주변 포인트를 이웃하는 다른 벽으로 프로젝션한 제2 프로젝션 포인트를 이용하여 생성된 제1-1 폐쇄선 및 제1-2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제1 폐쇄 평면 및 제1-2 폐쇄 평면이 생성되며, 상기 제2 삭제 영역의 주변 포인트와 상기 제1-1 프로젝션 포인트, 상기 제1-2 프로젝션 포인트를 이용하여 생성된 제2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제2 폐쇄 평면이 생성되고, 상기 제1-1 폐쇄 평면, 상기 제1-2 폐쇄 평면 및 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면이 생성될 수 있다.When the object model has three surfaces in contact with the space model, the deletion area is divided into a 1-1 deletion area and a 1-2 deletion area of the adjacent wall portion and a second deletion area of the floor portion, A 1-1 projection point and a 1-2 projection point that project peripheral points of the 1-1 deletion area and the 1-2 deletion area onto the floor, and the 1-1 deletion area and the 1-2 deletion area. 2 A first closed plane is created by filling the interior of the 1-1 closed line and the 1-2 closed line created using a second projection point by projecting a peripheral point of any one of the deleted areas to another neighboring wall with a plane mesh. And a 1-2 closed plane is created, and the interior of the second closed line generated using the peripheral points of the second deletion area, the 1-1 projection point, and the 1-2 projection point is filled with a planar mesh. A second closed plane is created, and the virtual plane can be created by combining the 1-1 closed plane, the 1-2 closed plane, and the second closed plane.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages in addition to those described above will become apparent from the following drawings, claims and detailed description of the invention.

본 발명의 실시예에 따르면, 모바일 단말을 이용한 공간 스캔 및 모델링을 통해 모바일에서 디지털 트윈을 구현하고 사용자에게 현실 공간 및 사물을 3차원 디지털로 재창조하여 제공해 줄 수 있는 효과가 있다.According to an embodiment of the present invention, there is an effect of implementing a digital twin on a mobile device through spatial scanning and modeling using a mobile terminal and providing a three-dimensional digital recreation of real spaces and objects to users.

또한, 사용자가 소지한 일반적인 모바일 단말에 구비된 카메라를 이용해 촬영한 공간에 대한 3차원 모델을 생성하고, 공간 내에 배치된 사물을 분리한 뒤 사물이 삭제된 영역에 가상 벽 및/또는 바닥/천장을 생성해 냄으로써 순수 공간에 관한 모델을 만들 수 있는 효과도 있다. In addition, a three-dimensional model of the space captured using the camera installed in the user's general mobile terminal is created, objects placed in the space are separated, and virtual walls and/or floors/ceilings are created in the areas where the objects were deleted. There is also the effect of creating a model of pure space by creating .

도 1은 본 발명의 일 실시예에 따른 공간 모델링을 통한 모바일 디지털 트윈 구현 장치의 구성도,
도 2는 모바일 스캔부에서 수행되는 모바일 스캔 프로세스의 순서도,
도 3은 본 발명의 일 실시예에 따른 공간 모델링을 통한 모바일 디지털 트윈 구현 방법의 순서도,
도 4는 데이터 준비 단계의 상세 프로세스를 나타낸 도면,
도 5는 데이터 분리 단계의 상세 프로세스를 나타낸 도면,
도 6은 그룹 분류 단계의 상세 프로세스를 나타낸 도면,
도 7은 공간 머지 단계의 상세 프로세스를 나타낸 도면,
도 8은 사물 머지 단계의 상세 프로세스를 나타낸 도면,
도 9는 모바일 스캔 중의 프리뷰 화면과 모바일 스캔이 완료된 이후의 모델링 화면에 대한 예시도,
도 10은 공간 모델과 사물 모델의 분리를 나타낸 예시도,
도 11은 본 발명의 일 실시예에 따른 가상 평면 생성 방법의 순서도,
도 12는 삭제 대상이 되는 사물 모델의 선택 프로세스,
도 13은 메쉬 그룹에 대한 삭제 프로세스,
도 14는 오브젝트 그룹에 대한 삭제 프로세스,
도 15는 삭제 영역에 대한가상 평면의 생성 프로세스,
도 16은 교차점에서의 가상 평면 생성 프로세스,
도 17 및 도 18은 공간의 1개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도,
도 19 및 도 20은 공간의 2개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도,
도 21 및 도 22는 공간의 3개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도.
.
1 is a configuration diagram of a mobile digital twin implementation device through spatial modeling according to an embodiment of the present invention;
2 is a flowchart of the mobile scanning process performed in the mobile scanning unit;
Figure 3 is a flowchart of a method for implementing a mobile digital twin through spatial modeling according to an embodiment of the present invention;
Figure 4 is a diagram showing the detailed process of the data preparation stage;
Figure 5 is a diagram showing the detailed process of the data separation step;
Figure 6 is a diagram showing the detailed process of the group classification step;
Figure 7 is a diagram showing the detailed process of the spatial merge step;
Figure 8 is a diagram showing the detailed process of the object merge step;
Figure 9 is an example of a preview screen during mobile scanning and a modeling screen after mobile scanning is completed;
Figure 10 is an example diagram showing the separation of a space model and an object model;
11 is a flowchart of a virtual plane generation method according to an embodiment of the present invention;
12 shows the selection process of an object model to be deleted,
13 shows the deletion process for a mesh group,
14 shows the deletion process for a group of objects;
15 shows the creation process of a virtual plane for the deletion area,
16 shows the virtual plane creation process at the intersection;
Figures 17 and 18 are examples of deletion of an object model in contact with one side of space and creation of a virtual plane;
Figures 19 and 20 are examples of deletion of an object model in contact with two sides of space and creation of a virtual plane;
Figures 21 and 22 are examples of deleting an object model in contact with three sides of space and creating a virtual plane.
.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to indicate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.In addition, the components of the embodiments described with reference to each drawing are not limited to the corresponding embodiments, and may be implemented to be included in other embodiments within the scope of maintaining the technical spirit of the present invention, and may also be included in separate embodiments. Even if the description is omitted, it is natural that a plurality of embodiments may be re-implemented as a single integrated embodiment.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. In addition, when describing with reference to the accompanying drawings, identical or related reference numbers will be assigned to identical or related elements regardless of the drawing symbols, and overlapping descriptions thereof will be omitted. In describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

도 1은 본 발명의 일 실시예에 따른 공간 모델링을 통한 모바일 디지털 트윈 구현 장치의 구성도이다. Figure 1 is a configuration diagram of an apparatus for implementing a mobile digital twin through spatial modeling according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 공간 모델링을 통한 모바일 디지털 트윈 구현 방법 및 장치는 모바일 단말을 이용하여 현실 공간 및 사물을 스캔하고 모델링하여 3차원 디지털로 재창조하고 사용자에게 제공함으로써 디지털 트윈을 구현한 것을 특징으로 한다. 전화, 인터넷 등을 위해 일반적으로 사용자가 소지하고 있는 모바일 단말의 카메라를 이용하여 사무실, 집안과 같은 현실 공간을 스캔하여 3차원 모델을 생성하고, 공간 내에 배치된 사물을 공간과 구분하여 분리해 내어 순수하게 공간만의 모델을 만들 수 있다. 공간 내에 배치된 사물을 분리하여 삭제한 경우, 사물과 맞닿아 있던 공간의 일부 영역에 대해 가상의 벽과 바닥/천장을 생성해 냄으로써 사물이 없는 상태에서 공간을 모바일 스캔한 경우와 유사하게 공간 모델을 획득할 수 있게 한다. A method and device for implementing a mobile digital twin through spatial modeling according to an embodiment of the present invention implements a digital twin by scanning and modeling real spaces and objects using a mobile terminal, recreating them in three-dimensional digital form, and providing them to the user. It is characterized by A three-dimensional model is created by scanning a real space such as an office or home using the camera of a mobile device that the user generally carries for phone calls, internet, etc., and objects placed in the space are separated from the space. You can create a purely spatial model. When objects placed in a space are separated and deleted, virtual walls and floors/ceilings are created for some areas of the space that were in contact with the objects, creating a space model similar to when a space is mobile scanned without objects. enables you to obtain.

도 1을 참조하면, 본 실시예에 따른 모바일 디지털 트윈 구현 장치(100)는 예를 들어 스마트폰, 태블릿 PC 등의 모바일 단말로 구현될 수 있다. 하지만, 모바일 디지털 트윈 구현 장치(100)가 이에 한정되는 것은 아니다. 모바일 디지털 트윈 구현 장치(100)는 본 발명의 일 실시예에 따른 모바일 디지털 트윈 구현 방법을 수행하기 위한 별도의 장치로 구현될 수도 있다. Referring to FIG. 1, the mobile digital twin implementation device 100 according to this embodiment may be implemented as a mobile terminal such as a smartphone or tablet PC. However, the mobile digital twin implementation device 100 is not limited to this. The mobile digital twin implementation device 100 may be implemented as a separate device for performing the mobile digital twin implementation method according to an embodiment of the present invention.

모바일 디지털 트윈 구현 장치(100)는 모바일 스캔부(110), 모델링부(120), 메쉬 분석부(130), 공간 사물 분리부(140), 저장부(150)를 포함할 수 있다. The mobile digital twin implementation device 100 may include a mobile scanning unit 110, a modeling unit 120, a mesh analysis unit 130, a spatial object separation unit 140, and a storage unit 150.

모바일 스캔부(110)는 3차원 모델링하고자 하는 현실 공간에 대한 이미지를 촬영한다. 촬영대상이 되는 현실 공간은 사무실, 집안과 같은 실내 공간일 수 있다. The mobile scan unit 110 takes images of the real space to be 3D modeled. The real space subject to filming may be an indoor space such as an office or home.

모바일 스캔부(110)는 모바일 단말에 구비된 카메라 모듈로서, 컬러 이미지 촬영을 위한 영상 카메라와 깊이 이미지 촬영을 위한 라이다와 같은 깊이 센서를 포함할 수 있다. The mobile scan unit 110 is a camera module provided in a mobile terminal and may include a video camera for color image capture and a depth sensor such as LiDAR for depth image capture.

모바일 스캔부(110)에 의해 촬영된 영상은 모바일 단말에 구비된 표시부를 통해 프리뷰 형식으로 화면에 표시될 수 있다. 프리뷰를 통해 사용자는 현재 스캔 영역을 확인하고 스캔 진행 상황을 확인할 수 있다. The image captured by the mobile scanning unit 110 may be displayed on the screen in a preview format through a display unit provided in the mobile terminal. Through the preview, users can check the current scan area and check the progress of the scan.

모델링부(120)는 모바일 스캔부(110)에 의해 촬영된 이미지를 데이터 처리하여 포인트 클라우드를 생성하고, 포인트 클라우드로부터 다수의 메쉬(mesh)를 만들어내 사물이 배치된 공간에 관한 3차원 모델을 생성한다. The modeling unit 120 processes data from the image captured by the mobile scanning unit 110 to create a point cloud, and creates a plurality of meshes from the point cloud to create a three-dimensional model of the space where objects are placed. Create.

메쉬 분석부(130)는 모델링부(120)에 의해 생성된 3차원 모델의 메쉬 데이터들에 대해 분석하여 동일 오브젝트에 속하는 평면들을 분류하고, 공간과 사물에 관한 속성을 구분하여 부여한다. The mesh analysis unit 130 analyzes the mesh data of the three-dimensional model generated by the modeling unit 120, classifies planes belonging to the same object, and separately assigns space and object properties.

공간 사물 분리부(140)는 평면들에 대해 부여된 속성에 기초하여 공간에 관한 공간 모델의 평면과 공간 내에 배치되는 사물에 관한 사물 모델의 평면으로 구분하고 서로 분리할 수 있다. The spatial object separator 140 may distinguish and separate a plane of a spatial model for a space and a plane of an object model for an object placed in the space based on the properties given to the planes.

저장부(150)는 최종 모델링된 공간 모델과 사물 모델을 단말의 메모리에 저장시키거나 혹은 네트워크 연결된 외부의 서버로 전송하여 별도의 데이터베이스에 저장시킬 수 있다. 저장된 공간 모델과 사물 모델은 사용자 입력에 따라 뷰어/에디터(160)에 로딩시키거나 타 사용자에게 공유되게 할 수 있다. The storage unit 150 can store the final modeled spatial model and object model in the terminal's memory, or transmit them to an external server connected to a network and store them in a separate database. The saved space model and object model can be loaded into the viewer/editor 160 or shared with other users according to user input.

본 실시예에서 공간 모델은 사물이 배치된 현실 공간에서 사물을 배제시킨 공간 자체만의 모델링 결과를 의미하며, 사물 모델은 사물 자체에 관한 모델링 결과를 의미한다. In this embodiment, the space model refers to the modeling result of the space itself excluding the object from the real space where the object is placed, and the object model refers to the modeling result of the object itself.

뷰어(160a)는 저장부(150)에 저장된 공간 모델 및/또는 사물 모델을 표시부의 화면에 표시한다. 회전, 확대, 축소, 크기 표시 등의 기능을 통해 다양한 시점에서 모바일 스캔을 통해 모델링된 모델을 확인할 수 있게 한다. The viewer 160a displays the space model and/or object model stored in the storage unit 150 on the screen of the display unit. Functions such as rotation, enlargement, reduction, and size display allow you to check the modeled model through mobile scanning from various viewpoints.

에디터(160b)는 화면에 표시된 모델에 대해 사용자 입력에 상응하여 편집 기능을 수행할 수 있다. 편집 기능에는 사물 삭제, 박스 클리핑, 평면 크롭, 사물 배치 등이 포함될 수 있다. The editor 160b may perform an editing function on the model displayed on the screen in response to user input. Editing functions may include object deletion, box clipping, plane cropping, object placement, etc.

사용자는 에디터(160bb)를 이용하여 현재 표시부를 통해 표시되는 3차원 모델 중에서 특정 사물 모델을 선택하여 삭제할 수 있다. 이 경우 특정 사물 모델이 삭제될 때, 해당 사물 모델과 맞닿아 있는 공간의 평면(벽, 바닥, 천장 등) 중 일부 영역에 대해서는 앞서 만들어진 포인트 클라우드에 속하는 포인트가 존재하지 않아 평면 구성을 위한 메쉬가 생성될 수 없다. 따라서, 본 실시예에서는 이에 대해 소정의 데이터 처리를 통해 해당 영역에 가상의 평면을 만들어 줌으로써 공간 모델의 평면 중에서 포인트가 존재하지 않는 영역에 대해서도 채워진 형태의 3차원 모델링이 가능하게 할 수 있다. The user can use the editor 160bb to select and delete a specific object model from among the 3D models currently displayed through the display unit. In this case, when a specific object model is deleted, there are no points belonging to the previously created point cloud in some areas of the space plane (wall, floor, ceiling, etc.) in contact with the object model, so a mesh for plane construction is required. cannot be created. Therefore, in this embodiment, a filled-in three-dimensional modeling can be made even for areas where no points exist among the planes of the spatial model by creating a virtual plane in the corresponding area through predetermined data processing.

또한, 사용자는 에디터(160b)를 이용하여 공간 모델 내에 원하는 사물 모델을 배치시켜 봄으로써 직접 해당 사물을 구입하여 배치하지 않고서도 가상으로 배치하여 해당 공간에 어울리는지 여부 등을 확인해 볼 수 있게 된다. Additionally, by using the editor 160b to place a desired object model within the space model, the user can virtually place the object and check whether it fits the space without purchasing and placing the object in person.

전술한 모델링부(120), 메쉬 분석부(130), 공간 사물 분리부(140)에서 수행되는 데이터 처리 프로세스에는 데이터 준비 단계, 데이터 분리 단계, 그룹 분류 단계, 공간 머지 단계, 사물 머지 단계 등이 포함되어 순차적으로 수행될 수 있다.The data processing process performed in the above-described modeling unit 120, mesh analysis unit 130, and spatial object separation unit 140 includes a data preparation step, a data separation step, a group classification step, a spatial merge step, and an object merge step. can be included and performed sequentially.

이하에서는 전술한 공간 모델링을 통한 모바일 디지털 트윈 구현 장치(100)에서 수행되는 모바일 디지털 트윈 구현 방법에 대해 관련 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, the mobile digital twin implementation method performed in the mobile digital twin implementation device 100 through spatial modeling described above will be described in detail with reference to the related drawings.

도 2는 모바일 스캔부에서 수행되는 모바일 스캔 프로세스의 순서도이며, 도 3은 본 발명의 일 실시예에 따른 공간 모델링을 통한 모바일 디지털 트윈 구현 방법의 순서도이고, 도 4는 데이터 준비 단계의 상세 프로세스를 나타낸 도면이며, 도 5는 데이터 분리 단계의 상세 프로세스를 나타낸 도면이고, 도 6은 그룹 분류 단계의 상세 프로세스를 나타낸 도면이며, 도 7은 공간 머지 단계의 상세 프로세스를 나타낸 도면이고, 도 8은 사물 머지 단계의 상세 프로세스를 나타낸 도면이다.FIG. 2 is a flowchart of the mobile scanning process performed in the mobile scanning unit, FIG. 3 is a flowchart of a method of implementing a mobile digital twin through spatial modeling according to an embodiment of the present invention, and FIG. 4 shows a detailed process of the data preparation step. Figure 5 is a diagram showing the detailed process of the data separation step, Figure 6 is a diagram showing the detailed process of the group classification step, Figure 7 is a diagram showing the detailed process of the spatial merge step, and Figure 8 is an object This diagram shows the detailed process of the merge stage.

우선 도 2를 참조하면, 모바일 스캔부(110)에서 수행되는 모바일 스캔 프로세스가 도시되어 있다. First, referring to FIG. 2, a mobile scan process performed by the mobile scan unit 110 is shown.

모바일 스캔부(110)는 모바일 단말에 구비된 카메라 모듈을 이용하여 모바일 스캔 프로세스를 수행할 수 있다(단계 S200). The mobile scan unit 110 may perform a mobile scan process using a camera module provided in the mobile terminal (step S200).

카메라 모듈은 컬러 이미지(RGB Image)를 촬영하기 위한 CCD 카메라 혹은 CMOS 카메라와 같은 영상 카메라와, 깊이 이미지(Depth Image)를 촬영하기 위한 깊이 센서를 포함할 수 있다. 따라서, 영상 카메라를 이용하여 컬러 이미지를 획득하고(단계 S205), 깊이 센서를 이용하여 깊이 이미지를 획득할 수 있다(단계 S210). The camera module may include a video camera such as a CCD camera or CMOS camera for capturing a color image (RGB Image), and a depth sensor for capturing a depth image. Accordingly, a color image can be acquired using a video camera (step S205) and a depth image can be acquired using a depth sensor (step S210).

또는 카메라 모듈은 컬러 이미지와 깊이 이미지를 함께 획득할 수 있는 RGB-D 카메라일 수도 있다. Alternatively, the camera module may be an RGB-D camera that can acquire both color images and depth images.

또한, 카메라 모듈에는 증강현실 구현을 위한 증강현실 키트(AR kit)가 마련되어 있어, 현재 촬영 중인 카메라 위치 정보를 획득할 수 있다(단계 S215). 또한, 카메라에 설치된 렌즈에 관한 렌즈 특성 정보도 추가적으로 획득할 수 있다. In addition, the camera module is equipped with an augmented reality kit (AR kit) for implementing augmented reality, so that information on the location of the camera currently being filmed can be obtained (step S215). Additionally, lens characteristic information regarding the lens installed in the camera can be additionally obtained.

깊이 센서에 의해 촬영된 깊이 이미지와 증강현실 키트에 의해 획득한 카메라 위치 정보를 활용하여, 모바일 스캔부(110)는 현재 촬영되고 있는 공간에 대한 포인트들의 집합인 포인트 클라우드를 생성하고, 필요에 따라서는 이를 업데이트할 수 있다(단계 S220). Using the depth image captured by the depth sensor and the camera position information acquired by the augmented reality kit, the mobile scanning unit 110 generates a point cloud, which is a set of points about the space currently being photographed, and as needed. can update it (step S220).

생성 및 업데이트된 포인트 클라우드는 카메라 좌표계로 프로젝션될 수 있다(단계 S225). 카메라 좌표계는 증강현실 키트에 의해 획득한 카메라 위치 정보를 기초로 하여 만들어지며, 이에 따라 상대적인 포인트 클라우드의 각 포인트들의 좌표가 획득될 수 있다. The generated and updated point cloud may be projected into the camera coordinate system (step S225). The camera coordinate system is created based on camera position information acquired by the augmented reality kit, and thus the coordinates of each point of the relative point cloud can be obtained.

카메라 좌표계로 프로젝션된 포인트 클라우드의 포인트들에 대해서는 각 포인트의 색을 컬러 이미지 영역의 대응되는 좌표에 관한 색으로 지정하여 출력되게 할 수 있다(단계 S230). For the points of the point cloud projected into the camera coordinate system, the color of each point can be designated as a color related to the corresponding coordinate of the color image area and output (step S230).

카메라 모듈에 의해 촬영되는 화면은 표시부를 통해 프리뷰 형식으로 표시되어 사용자에게 제공될 수 있다. 프리뷰 화면에서 포인트 클라우드에 속하는 포인트가 미생성되었거나 생성이 완료되지 않은 부분은 미리 지정된 방식으로 표시되게 함으로써, 현실 공간을 촬영 중인 사용자에게 3차원 모델링을 위해 포인트 클라우드를 생성/업데이트하기 위해 수집이 필요한 포인트 부분을 직관적으로 확인하게 할 수 있다. The screen captured by the camera module may be displayed in a preview format through the display unit and provided to the user. On the preview screen, parts of the point cloud that have not been created or whose creation has not been completed are displayed in a pre-specified manner, giving users who are filming real space the information that needs to be collected to create/update the point cloud for 3D modeling. You can check the points intuitively.

여기서, 미리 지정된 방식은 포인트 클라우드가 생성 및 업데이트된 포인트 부분들은 정상적으로 촬영된 화면으로 표시하고, 포인트 클라우드가 아직 생성되지 않은 부분은 특정 색상(일반적인 촬영 상황에서 드문 색상으로, 예를 들어 주황색)의 포인트들로 뒤덮이게 하는 방식일 수 있다(도 9의 (a) 참조). 이러한 표시 방식을 적용하여 프리뷰 화면에서 특정 색상의 포인트가 최대한 사라질 수 있게 사용자 행동을 유도함으로써 3차원 모델링을 위한 충분한 포인트가 수집되어 포인트 클라우드가 완성되게 할 수 있다. Here, the predefined method displays the point parts for which the point cloud has been created and updated as a normally captured screen, and the part for which the point cloud has not yet been created is in a specific color (a rare color in normal shooting situations, for example, orange). It may be covered with points (see (a) of FIG. 9). By applying this display method to encourage user behavior so that points of a specific color disappear as much as possible from the preview screen, enough points for 3D modeling can be collected to complete the point cloud.

모바일 스캔부(110)에 의해 스캔이 완료되어 포인트 클라우드가 생성된 경우, 3차원 모델링을 위한 기본 데이터가 마련된 것으로 볼 수 있다. 이후 도 3에 도시된 것과 같이 모바일 디지털 트윈 구현 방법이 실행될 수 있다. 상황에 따라서는 모바일 스캔 프로세스가 모바일 디지털 트윈 구현 방법에 포함되어 함께 실행될 수도 있다. When the scan is completed by the mobile scanning unit 110 and a point cloud is generated, it can be considered that basic data for 3D modeling has been prepared. Afterwards, the mobile digital twin implementation method can be executed as shown in FIG. 3. Depending on the situation, the mobile scanning process may be included and executed together with the mobile digital twin implementation method.

도 3을 참조하면, 모바일 디지털 트윈 구현 방법은 데이터 준비 단계(S300), 데이터 분리 단계(S305), 그룹 분류 단계(S310), 공간 머지(작은 오브젝트 머지) 단계(S315), 사물 머지(오브젝트 재조합) 단계(S320)를 포함할 수 있다. Referring to Figure 3, the mobile digital twin implementation method includes a data preparation step (S300), a data separation step (S305), a group classification step (S310), a spatial merge (small object merge) step (S315), and an object merge (object recombination) step. ) may include step (S320).

도 4를 참조하면, 데이터 준비 단계(S330)에서 모델링부(120)는 모바일 스캔부(110)에서 생성된 포인트 클라우드의 포인트들을 이용하여 삼각형 타입의 메쉬 데이터를 생성한다. Referring to FIG. 4, in the data preparation step (S330), the modeling unit 120 generates triangle-type mesh data using points of the point cloud generated by the mobile scanning unit 110.

메쉬 데이터는 정점(vertex), 삼각형(triangle), 법선(normal)의 서브 데이터로 이루어진 데이터 집합체일 수 있다. 정점은 삼각형의 꼭지점이고, 법선은 삼각형의 평면에 수직한 단위 벡터이다. Mesh data may be a data set consisting of sub-data of vertices, triangles, and normals. A vertex is the vertex of a triangle, and the normal is a unit vector perpendicular to the plane of the triangle.

여기서, 다수 메쉬 데이터들이 있는 상황에서, 일부 정점은 동일한 위치에 존재하지만 서로 다른 메쉬에 속하여 논리적으로 분리되어 있는 경우가 있을 수 있다. 이 경우 정점 ID가 다를 수 있는데, 후속하는 머지 혹은 에디터에 의한 모델 삭제 등의 데이터 처리 과정에서 동일 위치에 있음에도 불구하고 어느 하나의 정점이 삭제되지만 다른 하나의 정점은 삭제되지 않는 문제가 발생할 수 있다. Here, in a situation where there is multiple mesh data, some vertices exist at the same location, but there may be cases where they belong to different meshes and are logically separated. In this case, the vertex ID may be different, and during data processing such as subsequent merging or model deletion by the editor, a problem may occur in which one vertex is deleted but the other vertex is not deleted even though it is in the same location. .

따라서, 데이터 준비 단계에서는 정점 ID가 다를지라도 동일 위치에 있는 정점들을 식별하여 인덱싱하고 해당 인덱스를 별도의 제1 딕셔너리(same position vertex index dictionary)로 관리하는 과정을 선행시킬 수 있다. 이를 통해 이후 동일 위치의 정점을 매번 별도 계산하지 않고서도 제1 딕셔너리를 통해 바로 식별해낼 수 있게 하여 계산량을 줄임으로써 모바일 단말에서도 모델링 작업, 뷰잉 작업, 에디터 작업 등이 원활히 수행되게 할 수 있다. Therefore, in the data preparation stage, even if the vertex IDs are different, the process of identifying and indexing vertices at the same position and managing the index in a separate first dictionary (same position vertex index dictionary) can be preceded. Through this, it is possible to immediately identify the vertex at the same location through the first dictionary without having to calculate it separately each time, thereby reducing the amount of calculation, allowing modeling, viewing, and editor tasks to be performed smoothly even on mobile devices.

또한, 삼각형 데이터를 분석하는 과정에서 동일 위치는 아니지만 허용범위(tolerance) 내에 위치하는 인접한 정점들을 가지는 삼각형들에 관한 정보를 취합한다. 후술하는 평면 확장 과정에서 삼각형 확장 방식을 통해 평면을 연결해 나가게 되는 바, 어느 하나의 삼각형에 대해 정점이 인접한 삼각형에 관한 정보를 인덱싱하고, 해당 인덱스를 별도의 제2 딕셔너리(Vertice adjacent triangle index dictionary)로 관리할 수 있다. 이후 인접한 삼각형에 대해 매번 별도 계산하지 않고서도 제2 딕셔너리를 통해 바로 식별해낼 수 있게 하여 계산량을 줄임으로써 모바일 단말에서도 모델링 작업, 뷰잉 작업, 에디터 작업 등이 원활히 수행되게 할 수 있다. Additionally, in the process of analyzing triangle data, information about triangles with adjacent vertices that are not at the same location but are located within tolerance is collected. In the plane expansion process described later, the planes are connected through the triangle expansion method. Information about triangles whose vertices are adjacent to one triangle is indexed, and the index is stored in a separate second dictionary (Vertice adjacent triangle index dictionary). It can be managed with Afterwards, adjacent triangles can be immediately identified through the second dictionary without having to be calculated separately each time, thereby reducing the amount of calculation, allowing modeling, viewing, and editor tasks to be performed smoothly even on mobile devices.

데이터 준비가 완료되면, 데이터 분리 단계(S305)에서 메쉬 분석부(130)는 서로 연결되고 해당 법선과 기준 법선 사이의 각도가 작은 삼각형들의 집합을 찾아 동일 평면을 구성하는 삼각형으로 취급한다. When data preparation is completed, in the data separation step (S305), the mesh analysis unit 130 finds a set of triangles that are connected to each other and have a small angle between the corresponding normal and the reference normal, and treats them as triangles constituting the same plane.

도 5를 참조하면, 정점들에 대해서 검토된 정점인지 확인한다(S305-1). 검토되지 않은 정점일 경우 체크리스트에 추가한다(S305-2). 체크리스트가 비어 있는지 확인하고(S305-3), 비어 있지 않은 경우 체크리스트의 정점을 추출한다(S305-4). 해당 정점에 대해 앞서 데이터 준비 단계(S300)에서 준비된 제1 딕셔너리를 통해 동일 위치 정점들을 찾고(S305-5), 제2 딕셔너리를 통해 해당 정점과 연관된 인접 정점을 가지는 삼각형들(인접 삼각형)을 찾는다(S305-6). 딕셔너리를 이용함으로써 동일 위치 정점과 인접 삼각형을 빠른 시간 내에 찾고, 검색을 위한 계산량을 줄일 수 있다. Referring to FIG. 5, it is checked whether the vertices have been reviewed (S305-1). If it is a vertex that has not been reviewed, add it to the checklist (S305-2). Check whether the checklist is empty (S305-3), and if not, extract the vertices of the checklist (S305-4). For the corresponding vertex, vertices at the same location are found through the first dictionary prepared in the data preparation step (S300) (S305-5), and triangles (adjacent triangles) having adjacent vertices associated with the corresponding vertex are found through the second dictionary. (S305-6). By using a dictionary, you can quickly find co-located vertices and adjacent triangles and reduce the amount of calculation for search.

또한, 해당 정점(혹은 해당 정점이 속하는 메쉬)의 기준 법선(Benchmark normal)을 찾는다(S305-7). 기준 법선은 해당 정점이 속하는 메쉬에 속하는 삼각형의 법선 벡터일 수 있다. Additionally, the benchmark normal of the vertex (or the mesh to which the vertex belongs) is found (S305-7). The reference normal may be the normal vector of a triangle belonging to the mesh to which the corresponding vertex belongs.

인접 삼각형의 법선과 기준 법선을 비교하여 사이 각도가 미리 설정된 각도 이내인지 판단(S305-8)한다. 각도 비교는 두 법선의 내적(dot product)을 계산한 값이 소정 기준값(예를 들어, 0.75)을 초과하는지 여부에 따라 이루어질 수 있다. Compare the normal line of the adjacent triangle with the reference normal line to determine whether the angle between them is within a preset angle (S305-8). Angle comparison may be made depending on whether the dot product of the two normals exceeds a predetermined reference value (eg, 0.75).

미리 설정된 각도 이내일 경우(즉, 두 법선의 내적이 소정 기준값을 초과할 경우) 현 정점이 속하는 삼각형과 인접 삼각형이 동일한 방향의 법선을 가진 것으로 보고, 동일 평면에 속하는 삼각형들인 것으로 판정할 수 있다(S305-9).If it is within a preset angle (i.e., if the inner product of two normals exceeds a predetermined standard value), the triangle to which the current vertex belongs and the adjacent triangle are considered to have normals in the same direction, and can be determined to be triangles belonging to the same plane. (S305-9).

동일 평면에 속하는 삼각형에 대해서는 해당 삼각형에 속하는 정점들을 추출하고(S305-10) 다시 체크리스트에 추가하여 전술한 과정을 반복 수행한다. For triangles belonging to the same plane, vertices belonging to the triangle are extracted (S305-10), added to the checklist again, and the above-described process is repeated.

전술한 과정을 통해 서로 연결되고, 동일 방향을 바라보는, 즉 동일 평면을 구성하는 삼각형들의 집합을 찾을 수 있게 된다. 이처럼 삼각형이 성장하는 방식으로 공간 혹은 사물을 구성하는 각 평면에 해당하는 삼각형들을 분리해내 별도로 그룹핑할 수 있다. Through the above-described process, it is possible to find a set of triangles that are connected to each other and face the same direction, that is, forming the same plane. By growing triangles in this way, the triangles corresponding to each plane that makes up space or objects can be separated and grouped separately.

동일 평면 삼각형들로 그룹핑된 데이터는 그룹 분류 단계(S310)를 거치게 된다. Data grouped into coplanar triangles goes through a group classification step (S310).

도 6을 참조하면, 메쉬 분석부(130)는 동일 평면으로 그룹핑된 데이터(메쉬 그룹)에 대해 분석을 수행한다. 해당 분석은 공간 조건의 충족 여부에 따라 공간 그룹과 오브젝트 그룹으로 분류하기 위함이다. Referring to FIG. 6, the mesh analysis unit 130 performs analysis on data (mesh group) grouped in the same plane. The purpose of this analysis is to classify into space groups and object groups depending on whether the spatial conditions are met.

우선 하나의 평면에 대해 그룹핑되어 포함된 삼각형의 수가 소정 개수(예를 들어, 10개)를 넘는지 확인한다(S310-1). First, check whether the number of triangles grouped and included in one plane exceeds a predetermined number (for example, 10) (S310-1).

소정 개수 이하인 경우, 큰 평면을 가지는 공간에 관한 평면이 아닌 것으로 보고 오브젝트 그룹에 속하는 것으로 판정한다(S310-9). If the number is less than a predetermined number, it is considered not to be a plane related to a space with a large plane and is determined to belong to an object group (S310-9).

소정 개수를 넘는 경우 큰 평면을 가지는 공간의 각 조건을 충족하는지 판단한다. 공간을 이루는 평면에는 바닥, 벽, 천장이 있다. If the number exceeds a predetermined number, it is determined whether each condition of a space having a large plane is met. The plane that makes up space includes the floor, walls, and ceiling.

우선 바닥 조건을 충족하는지 판단하고(S310-2), 바닥 조건을 충족하는 경우 해당 평면에 속하는 포인트와 메쉬 그룹의 속성을 바닥으로 설정한다(S310-3). 그리고 공간 그룹에 속하는 것으로 판정한다(S310-8).First, determine whether the floor condition is met (S310-2), and if the floor condition is met, the properties of the point and mesh group belonging to the corresponding plane are set to floor (S310-3). And it is determined to belong to the space group (S310-8).

다음으로 벽 조건을 충족하는지 판단하고(S310-4), 벽 조건을 충족하는 경우 해당 평면에 속하는 포인트와 메쉬 그룹의 속성을 벽으로 설정한다(S310-5). 그리고 공간 그룹에 속하는 것으로 판정한다(S310-8).Next, determine whether the wall condition is met (S310-4), and if the wall condition is met, the properties of the point and mesh group belonging to the corresponding plane are set to wall (S310-5). And it is determined to belong to the space group (S310-8).

다음으로 천장 조건을 충족하는지 판단하고(S310-6), 천장 조건을 충족하는 경우 해당 평면에 속하는 포인트와 메쉬 그룹의 속성을 천장으로 설정한다(S310-7). 그리고 공간 그룹에 속하는 것으로 판정한다(S310-8).Next, determine whether the ceiling condition is met (S310-6), and if the ceiling condition is met, the properties of the point and mesh group belonging to the corresponding plane are set to ceiling (S310-7). And it is determined to belong to the space group (S310-8).

공간 조건 중 바닥 조건, 벽 조건, 천장 조건에 관한 판단 순서는 일 실시예에 불과하며, 그 순서가 변경될 수도 있다. The order of judgment regarding floor conditions, wall conditions, and ceiling conditions among space conditions is only an example, and the order may be changed.

바닥 조건, 벽 조건, 천장 조건을 모두 충족하지 못하는 경우에는 해당 평면이 공간을 구성하지 않고 공간에 배치된 사물 중 하나를 구성하는 평면으로 볼 수 있으며, 이 경우에는 해당 평면에 속하는 포인트와 메쉬 그룹은 오브젝트 그룹에 속하는 것으로 판정한다(S310-9). If the floor condition, wall condition, and ceiling condition are all not met, the plane in question does not constitute a space, but can be viewed as a plane that constitutes one of the objects placed in the space. In this case, the points and mesh groups belonging to the plane is determined to belong to the object group (S310-9).

본 실시예에서 바닥 조건은 (1) 평면의 법선 방향이 위를 향하고 있는지, (2) 면적이 일정 크기 이상인지, (3) 낮은 위치에 있는지 여부이다. In this embodiment, the floor conditions are (1) whether the normal direction of the plane is upward, (2) whether the area is a certain size or more, and (3) whether it is located in a low position.

벽 조건은 (1) 평면의 법선 방향이 수평으로 놓여 있는지, (2) 면적이 일정 크기 이상인지, (3) 높이가 일정 높이(예컨대, 2m) 이상인지 여부이다. The wall conditions are (1) whether the normal direction of the plane is horizontal, (2) whether the area is over a certain size, and (3) whether the height is over a certain height (for example, 2 m).

천장 조건은 (1) 평면의 법선 방향이 아래를 향하고 있는지, (2) 높은 위치에 있는지 여부이다. Ceiling conditions are (1) whether the plane's normal direction is downward, and (2) whether it is located at a high location.

메쉬 분석부(130)에 의한 분석이 완료되어 공간 그룹과 오브젝트 그룹으로 구분된 경우, 공간 사물 분리부(140)에서는 구분된 그룹에 대해 머지를 수행하여 최종적으로 공간 모델과 사물 모델을 완전 분리해낸다. When the analysis by the mesh analysis unit 130 is completed and divided into a space group and an object group, the space object separation unit 140 performs a merge on the divided groups and finally completely separates the space model and the object model. .

도 7을 참조하면, 공간 머지 단계(S315)에서 공간 사물 분리부(140)는 공간 그룹들을 대상으로 하여 모든 오브젝트 그룹에 대해 체크 작업을 수행한다(S315-1). 공간 그룹은 크게 바닥, 벽, 천장으로 구분될 수 있으며, 벽은 법선 방향에 따라 다수의 벽으로 재구분될 수 있다. Referring to FIG. 7, in the spatial merge step (S315), the spatial object separation unit 140 performs a check operation on all object groups targeting spatial groups (S315-1). Space groups can be broadly divided into floors, walls, and ceilings, and walls can be reclassified into multiple walls according to the normal direction.

체크 과정에서 오브젝트 그룹마다(S315-2) 공간 머지 조건을 충족하는지 여부를 확인하고(S315-3), 공간 머지 조건을 충족하는 경우 해당 오브젝트 그룹에 속하는 포인트를 해당 공간 그룹에 추가시키고, 해당 오브젝트 그룹을 삭제한다(S315-4). During the check process, each object group (S315-2) checks whether it satisfies the spatial merge conditions (S315-3), and if it satisfies the spatial merge conditions, the points belonging to the object group are added to the spatial group, and the corresponding object Delete the group (S315-4).

공간 머지 조건은 (1) 현재 체크 작업 중인 공간 그룹에 포함되는지, 법선 방향이 평행인지, 포인트 수가 일정 개수(예를 들어, 100개) 이하인지 여부이다. The space merge conditions are (1) whether it is included in the space group currently being checked, whether the normal direction is parallel, and whether the number of points is less than a certain number (for example, 100).

공간 머지 단계(S315)를 통해 공간 메쉬 안에 있는 작은 사물 메쉬를 머지하여 그룹 분류 과정에서 분류되지 못한 잔여 데이터들 중 공간을 구성하는 메쉬 데이터를 공간 그룹으로 설정해 줄 수 있게 된다. Through the spatial merge step (S315), small object meshes within the spatial mesh are merged, making it possible to set the mesh data constituting the space as a spatial group among the remaining data that was not classified during the group classification process.

공간 그룹으로 설정된 메쉬 데이터들은 전술한 분류 조건에 따라 바닥, 벽, 천장의 속성이 부여되고, 모바일 스캔된 공간에서 내부 배치된 사물들을 제외한 공간 모델로서 통합될 수 있다. Mesh data set as a space group can be assigned floor, wall, and ceiling properties according to the above-mentioned classification conditions, and can be integrated as a space model excluding objects placed inside the mobile scanned space.

다음으로는 오브젝트 재조합을 통해 사물 머지 단계(S320)를 수행한다. Next, the object merge step (S320) is performed through object recombination.

도 8을 참조하면, 사물 머지 단계(S320)에서 공간 사물 분리부(140)는 공간 그룹에 속하지 않는 오브젝트 그룹에 속하는 정점들에 대한 체크 작업을 수행한다(S320-1). Referring to FIG. 8, in the object merging step (S320), the spatial object separation unit 140 performs a check operation on vertices belonging to an object group that does not belong to a spatial group (S320-1).

체크 작업이 진행된 정점인지 확인하고(S320-2), 체크되지 않은 정점일 경우 체크리스트에 추가한다(S320-3). 체크리스트를 확인하여(S320-4) 체크리스트가 비어 있다면 새로운 오브젝트 그룹을 생성하고, 비어 있지 않다면 체크리스트 내의 정점을 추출한다(S320-5). Check whether the vertex has been checked (S320-2), and if it is an unchecked vertex, add it to the checklist (S320-3). Check the checklist (S320-4), and if the checklist is empty, create a new object group, and if it is not empty, extract the vertices in the checklist (S320-5).

해당 정점이 오브젝트 정점인지 확인한다(S320-6). 공간 내에 배치된 사물의 경우 공간을 구성하는 하나 이상의 평면과 닿아 있을 수 있다. 이 경우 연결 과정에서 오브젝트 평면이 공간 평면과 만나는 점을 통해 공간 평면에까지 확장될 수 있기에 이를 차단하기 위해 S320-6을 수행한다. Check whether the corresponding vertex is an object vertex (S320-6). Objects placed within a space may be in contact with one or more planes that make up the space. In this case, during the connection process, the object plane may extend to the spatial plane through the point where it meets the spatial plane, so S320-6 is performed to block this.

오브젝트 정점인 경우, 제1 딕셔너리를 이용하여 동일 위치 정점들을 찾는다(S320-7). 그리고 제2 딕셔너리를 이용하여 인접 삼각형들도 찾는다(S320-8). 그리고 검색된 정점들과 삼각형들을 이용해 연결된 정점들을 획득할 수 있다(S320-9). 획득된 정점들에 대해서는 체크리스크에 추가하여 연결성 확장을 도모할 수 있다. In the case of an object vertex, vertices at the same location are found using the first dictionary (S320-7). Then, adjacent triangles are also found using the second dictionary (S320-8). And connected vertices can be obtained using the searched vertices and triangles (S320-9). Obtained vertices can be added to the check risk to expand connectivity.

오브젝트는 전후/좌우/상하로 평면을 가지는 입체적인 사물이므로, 연결된 정점들에 의해 각 방향의 평면들이 서로 연결지어질 수 있어 하나의 오브젝트 그룹으로 만들어낼 수 있다(S320-10). 새롭게 만들어진 오브젝트 그룹에 대해서는 이를 포함하는 최소 바운딩 박스(minimum bounding box)를 계산하고(S320-11), 하나의 사물 모델로서 기능하게 할 수 있다. Since the object is a three-dimensional object with planes in front, back, left and right, and up and down, the planes in each direction can be connected to each other by connected vertices, creating one object group (S320-10). For a newly created object group, the minimum bounding box containing it can be calculated (S320-11) and function as one object model.

도 9는 모바일 스캔 중의 프리뷰 화면과 모바일 스캔이 완료된 이후의 모델링 화면에 대한 예시도이다. Figure 9 is an example diagram of a preview screen during mobile scanning and a modeling screen after mobile scanning is completed.

도 9의 (a)를 참조하면, 전술한 것과 같이 모바일 스캔부(110)에 의한 스캔 과정 중에 포인트 클라우드를 생성하면서 추가적인 포인트 수집이 필요한 부분에 대해서는 지정된 색상(도면에서는 주황색)으로 표시되게 하여 사용자가 해당 부분을 보다 오래 촬영하게 함으로써 3차원 모델링을 위한 충분한 포인트를 획득할 수 있게 된다. Referring to (a) of FIG. 9, as described above, while creating a point cloud during the scanning process by the mobile scanning unit 110, the parts that require additional point collection are displayed in a designated color (orange in the drawing) so that the user can By filming the relevant part for a longer period of time, it is possible to obtain sufficient points for 3D modeling.

도 9의 (b)를 참조하면, 임의의 공간에 대한 모바일 스캔을 통해 공간과 그 내부에 배치된 사물에 대한 스캔이 완료된 경우 해당 모델을 확인할 수 있는 뷰어 혹은 에디터의 화면이 도시되어 있다. Referring to (b) of FIG. 9, when scanning of the space and the objects placed therein is completed through mobile scanning of an arbitrary space, a viewer or editor screen is shown where the corresponding model can be confirmed.

모델링 과정에서 컬러 이미지뿐만 아니라 깊이 이미지도 함께 활용하기에 모델링된 각 모델에 대한 길이값을 획득할 수 있다. 각 모델에 대해 설정된 바운딩 박스의 가로, 세로, 높이에 대한 길이로 화면에 표시되어, 사용자에게 현재 모바일 스캔을 진행한 공간에 대한 실제 크기를 알려줄 수 있다. In the modeling process, not only color images but also depth images are used, so the length value for each modeled model can be obtained. The width, height, and height of the bounding box set for each model are displayed on the screen, informing the user of the actual size of the space where the current mobile scan was performed.

도 10은 공간 모델과 사물 모델의 분리를 나타낸 예시도이다. Figure 10 is an example diagram showing the separation of a space model and an object model.

도 10을 참조하면, 모바일 스캔된 현실 공간 내에 의자가 배치된 경우가 예시되어 있다. 본 실시예에 따른 모바일 스캔 디지털 트윈 구현 장치(100)에 의해 디지털 트윈이 구현되어 실제와 같이 현실 공간에 관한 공간 모델과 그 내부에 배치된 사물들에 관한 사물 모델이 분리되어 관리될 수 있다.Referring to FIG. 10, a case in which a chair is placed in a mobile scanned real space is illustrated. A digital twin is implemented by the mobile scan digital twin implementation device 100 according to this embodiment, so that the spatial model of the real space and the object model of the objects placed therein can be separated and managed as in reality.

따라서, 도 10의 (a)에 도시된 것과 같이, 2차원 이미지 상에서는 분리 불가능한 공간과 의자가 디지털 트윈 구현에 의한 3차원 모델링 상태에서는 서로 분리될 수 있다. 즉, 의자 모델만 공간과 구분하여 선택할 수 있게 된다. Therefore, as shown in (a) of FIG. 10, the space and the chair, which cannot be separated in the two-dimensional image, can be separated from each other in the three-dimensional modeling state through digital twin implementation. In other words, only the chair model can be selected separately from the space.

선택된 의자 모델을 삭제 처리한 경우, 도 10의 (b)에 도시된 것과 같이 의자 모델이 사라지게 된다. 다만, 이 경우 의자가 있던 바닥면에 대해서는 촬영된 이미지가 존재하지 않아 비어 있는 표면 영역이 될 수 있다. 이에 대해서는 소정의 데이터 처리를 통해 도 10의 (c)에 도시된 것과 같이 주변 바닥과 비슷한 텍스쳐를 나타내도록 보완해 줌으로써 사물 모델의 삭제에 따른 공간 모델의 빈 표면을 사용자 입장에서 어색하지 않게 표시해 줄 수도 있다. When the selected chair model is deleted, the chair model disappears as shown in (b) of FIG. 10. However, in this case, there is no captured image of the floor surface where the chair was, so it may be an empty surface area. In response to this, through predetermined data processing, it is supplemented to display a texture similar to the surrounding floor as shown in (c) of Figure 10, so that the empty surface of the space model due to deletion of the object model is displayed without awkwardness from the user's perspective. It may be possible.

이하에서는 도 10에 도시된 것과 같이 사물 모델 삭제 시 남게 되는 공간 모델의 영역에 대한 처리 방법에 대해 관련 도면을 참조하여 설명하기로 한다. Hereinafter, a method of processing the area of the spatial model remaining when the object model is deleted, as shown in FIG. 10, will be described with reference to the related drawings.

도 11은 본 발명의 일 실시예에 따른 가상 평면 생성 방법의 순서도이고, 도 12는 삭제 대상이 되는 사물 모델의 선택 프로세스이며, 도 13은 메쉬 그룹에 대한 삭제 프로세스이고, 도 14는 오브젝트 그룹에 대한 삭제 프로세스이며, 도 15는 삭제 영역에 대한가상 평면의 생성 프로세스이고, 도 16은 교차점에서의 가상 평면 생성 프로세스이며, 도 17 및 도 18은 공간의 1개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도이고, 도 19 및 도 20은 공간의 2개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도이며, 도 21 및 도 22는 공간의 3개 면과 맞닿은 사물 모델의 삭제 및 가상 평면의 생성 예시도이다. Figure 11 is a flowchart of a virtual plane creation method according to an embodiment of the present invention, Figure 12 is a selection process of an object model to be deleted, Figure 13 is a deletion process for a mesh group, and Figure 14 is an object group 15 is a virtual plane creation process for the deletion area, FIG. 16 is a virtual plane creation process at an intersection, and FIGS. 17 and 18 are a deletion and virtual representation of an object model in contact with one side of the space. Figures 19 and 20 are examples of the creation of a plane, and Figures 19 and 20 are examples of the deletion of an object model in contact with two sides of space and the creation of a virtual plane, and Figures 21 and 22 are examples of the deletion of an object model in contact with three sides of a space. and an example of creating a virtual plane.

도 11을 참조하면, 본 실시예에 따른 가상 평면 생성 방법은 공간 모델과 사물 모델을 포함하는 3차원 모델에서 사용자 명령에 따라 사물 모델이 선택되어 삭제될 경우, 사물 모델의 삭제 이후 사물 모델과 공간 모델이 서로 맞닿았던 영역(삭제 영역)에 대해 가상의 평면 메쉬를 생성하여 공간 모델의 평면이 연속성을 가지게 한 것을 특징으로 한다. 이러한 가상 평면 생성 방법은 에디터(160b)에서 수행될 수 있다. Referring to FIG. 11, in the method of creating a virtual plane according to this embodiment, when an object model is selected and deleted according to a user command in a three-dimensional model including a space model and an object model, after deletion of the object model, the object model and the space It is characterized in that the plane of the spatial model has continuity by creating a virtual plane mesh for the area where the models were in contact (deleted area). This virtual plane creation method can be performed in the editor 160b.

우선 에디터(160b)는 사용자 입력부(미도시)를 통해 입력받은 사용자 명령에 상응하여 삭제할 오브젝트, 즉 사물 모델을 선택한다(단계 S400). 사용자 입력부는 터치스크린인 경우를 가정하지만, 키보드, 키패드, 마우스 등 다양한 방식의 입력 장치가 적용될 수도 있다.First, the editor 160b selects an object to be deleted, that is, an object model, in response to a user command input through a user input unit (not shown) (step S400). It is assumed that the user input unit is a touch screen, but various types of input devices such as a keyboard, keypad, and mouse may be applied.

도 12를 참조하면, 오브젝트 그룹(S410) 중에서 사용자 명령에 의해 선택된 지점(clicked points)(S402)을 포함하는 오브젝트 그룹이 있는지 판단한다(S403). 즉, 오브젝트 그룹 바운드 내에 선택된 지점이 있는지 여부를 확인한다. Referring to FIG. 12, it is determined whether there is an object group including clicked points (S402) selected by a user command among the object group (S410) (S403). In other words, it checks whether there is a selected point within the object group bounds.

바운드 내에 선택된 지점을 포함하는 오브젝트 그룹이 있을 경우, 그 중에서 가장 작은 바운드를 가지는 오브젝트 그룹을 찾는다(S404). 이는 3차원 모델이 표시부를 통해 2차원 화면을 통해 표시되기 때문에 서로 다른 오브젝트 그룹이지만 사용자 시점에서는 동일한 포인트에 위치할 수 있기 때문이다. If there is an object group including the selected point within the bound, the object group with the smallest bound is found (S404). This is because the 3D model is displayed on a 2D screen through the display unit, so although they are different object groups, they can be located at the same point from the user's perspective.

따라서, 본 실시예에서는 둘 이상의 오브젝트 그룹이 선택된 경우에는 그 중에서 작은 바운드를 가지는 오브젝트 그룹이 선택된 것으로 간주하기로 한다. 이는 일 실시예에 따른 것으로, 사용자 시점을 기준으로 가장 근접한 오브젝트 그룹이 선택된 것으로 간주할 수도 있다. Therefore, in this embodiment, when two or more object groups are selected, the object group with the smaller bound is considered to be selected. This is according to one embodiment, and the closest object group based on the user's viewpoint may be considered to be selected.

가장 작은 바운드를 가지거나 가장 근접한 오브젝트 그룹의 바운드를 선택된 바운드(clicked bounds)로 표시할 수 있다(S405). The bounds of the object group that have the smallest bound or are closest can be displayed as selected bounds (S405).

도 13을 참조하면, 삭제 대상으로 선택된 바운드에 대해 임의의 메쉬 그룹(S406a) 중에서 선택된 바운드와 인접한 메쉬 그룹이 있는지 확인한다(S407a). 인접한 메쉬 그룹이 있을 경우, 해당 메쉬 그룹도 삭제 리스트에 추가할 수 있다(S408a). 여기서, 메쉬 그룹은 앞서 공간 머지 단계(S315)에서 공간 모델의 벽, 바닥, 천장에 속하지 않는 것으로 판정된 아일랜드 데이터들이다. Referring to FIG. 13, with respect to the bound selected for deletion, it is checked whether there is a mesh group adjacent to the selected bound among the random mesh groups (S406a) (S407a). If there is an adjacent mesh group, the mesh group can also be added to the deletion list (S408a). Here, the mesh group is island data that was determined not to belong to the walls, floor, and ceiling of the space model in the space merge step (S315).

도 14를 참조하면, 삭제 대상으로 선택된 바운드에 대해 임의의 오브젝트 그룹(S406b) 중에서 선택된 바운드와 인접한 오브젝트 그룹이 있는지 확인한다(S407b). 인접한 오브젝트 그룹이 있을 경우, 해당 오브젝트 그룹도 삭제 리스트에 추가할 수 있다(S408b). 여기서, 오브젝트 그룹은 앞서 사물 머지 단계(S320)에서 사물 모델의 평면에 속하지 않는 것으로 판정된 아일랜드 데이터들이다. Referring to FIG. 14, with respect to the bound selected for deletion, it is checked whether there is an object group adjacent to the selected bound among any object groups (S406b) (S407b). If there is an adjacent object group, the corresponding object group can also be added to the deletion list (S408b). Here, the object group is island data that was determined not to belong to the plane of the object model in the object merge step (S320).

전술한 프로세스를 통해 사용자 명령에 상응하여 삭제할 오브젝트, 즉 사물 모델과 인접한 메쉬 그룹/오브젝트 그룹을 선택할 수 있다. Through the above-described process, it is possible to select an object to be deleted corresponding to a user command, that is, a mesh group/object group adjacent to the object model.

다시 도 11을 참조하면, 다음으로 선택된 오브젝트에 대해 삭제 처리를 수행한다(단계 S410). 삭제 처리는 선택된 바운드에 속하는 포인트들을 분리하여 3차원 모델을 구성하는 포인트 클라우드에서 제거하는 것이다. Referring again to FIG. 11, next, deletion processing is performed on the selected object (step S410). The deletion process separates the points belonging to the selected bounds and removes them from the point cloud that constitutes the 3D model.

이러한 삭제 처리를 통해 3차원 모델 중에서 선택된 오브젝트에 관한 포인트들이 삭제될 수 있다. Through this deletion process, points related to the object selected from the 3D model may be deleted.

이 경우 오브젝트는 삭제되었지만, 해당 오브젝트(특히 사물 모델)는 공간 모델의 각 평면(벽, 바닥, 천장) 중 하나 이상과 맞닿아 있는 부분이 있을 수 있다. 이 부분은 전술한 모바일 스캔 프로세스에서는 촬영될 수 없어 포인트 클라우드로 생성해 낼 수 없는 부분이다. 따라서, 삭제 처리 시 공간 모델의 일부 평면에는 삭제 영역이 만들어지게 된다. In this case, the object has been deleted, but the object (especially the object model) may have a portion that touches one or more of the planes (wall, floor, ceiling) of the spatial model. This part cannot be captured in the mobile scanning process described above and therefore cannot be created as a point cloud. Therefore, during deletion processing, a deletion area is created on some planes of the spatial model.

따라서, 에디터(160b)는 이러한 삭제 영역을 메꿀 가상 평면을 생성하여(단계 S420), 오브젝트가 삭제된 이후 표시되는 공간 모델의 해당 영역이 비어져 있게 되어 3차원 모델링이 불완전해지는 것을 방지할 수 있다. Accordingly, the editor 160b creates a virtual plane to fill the deleted area (step S420), thereby preventing the three-dimensional modeling from becoming incomplete due to the corresponding area of the spatial model displayed after the object is deleted being empty. .

도 15를 참조하면, 삭제 영역에 대한 가상 평면 생성 프로세스가 상세히 도시되어 있다. Referring to Figure 15, the virtual plane creation process for the deletion area is shown in detail.

공간 모델의 일부 평면에 삭제 영역이 발생하면(S421), 해당 영역과 인접한 공간 메쉬를 찾을 수 있다(S422). 인접한 공간 메쉬는 벽(S423)과 바닥/천장(S424)으로 구분할 수 있다. If a deletion area occurs on some plane of the spatial model (S421), a spatial mesh adjacent to the area can be found (S422). Adjacent space meshes can be divided into walls (S423) and floors/ceilings (S424).

벽의 삭제 영역의 경우 제1 주변 포인트를 바닥/천장으로 프로젝션하여 프로젝션 포인트를 획득할 수 있다(S425). 벽의 삭제 영역의 제1 주변 포인트와 프로젝션 포인트를 이용하면 벽 부분에서 제1 폐쇄 평면을 생성할 수 있게 된다(S426). In the case of the deleted area of the wall, the projection point can be obtained by projecting the first surrounding point onto the floor/ceiling (S425). Using the first peripheral points and projection points of the deleted area of the wall, it is possible to create a first closed plane in the wall portion (S426).

바닥/천장의 경우, 추가 포인트를 활용할 수 있다(S427). 추가 포인트는 프로젝션 포인트일 수 있다. 또는 평면 메쉬를 만들기 위해 필요한 정점들 중 하나일 수 있다. For floors/ceilings, additional points are available (S427). Additional points may be projection points. Or it could be one of the vertices needed to create a planar mesh.

바닥/천장의 삭제 영역에 대해서도 제2 주변 포인트와 추가 포인트를 이용하여 바닥/천장 부분에서 제2 폐쇄 평면을 생성할 수 있게 된다(S428). For the deleted area of the floor/ceiling, a second closed plane can be created in the floor/ceiling area using the second peripheral points and additional points (S428).

벽 부분의 제1 폐쇄 평면과 바닥/천장 부분의 제2 폐쇄 평면을 조합하여 삭제된 사물 모델과 맞닿아 있던 삭제 영역의 빈 부분을 채울 가상 평면을 생성할 수 있다(S429). By combining the first closed plane of the wall portion and the second closed plane of the floor/ceiling portion, a virtual plane can be created to fill the empty portion of the deleted area that was in contact with the deleted object model (S429).

제1 폐쇄 평면 및/또는 제2 폐쇄 평면을 만드는 상세 과정이 도 16에 도시되어 있다. 여기서, 공간 모델은 X, Y, Z축으로 이루어진 3차원 공간에 대한 모델링 데이터로서, XZ 평면을 바닥으로 하고, Y축 방향의 높이를 가지는 것을 가정한다(도 17 이하 도면 참조). The detailed process of creating the first closed plane and/or the second closed plane is shown in Figure 16. Here, the spatial model is modeling data for a three-dimensional space consisting of

삭제 영역 내에 존재하는 프로젝션 포인트는 벽과 바닥/천장이 만나는 모서리에 위치하게 되는 바, 교차점 그룹(intersection groups)으로 구분할 수 있다(S430). The projection point existing in the deletion area is located at the corner where the wall and the floor/ceiling meet, and can be divided into intersection groups (S430).

교차점 그룹이 벽 부분에 위치하는지 확인하고(S431), 벽 부분에 위치하는 경우 법선이 Z축 방향인지 확인한다(S432). Check whether the intersection group is located on the wall (S431), and if it is located on the wall, check whether the normal line is in the Z-axis direction (S432).

법선이 Z축 방향인 경우에는 해당 벽이 XY 평면을 구성하는 것으로 볼 수 있는 바, 정점(프로젝션 포인트)을 삭제하고 삭제 영역 내에 XY 평면 메쉬를 생성하여 빈 영역을 채울 가상 평면을 만들어 줄 수 있다(S433). If the normal is in the Z-axis direction, the wall can be seen as forming an XY plane. By deleting the vertex (projection point) and creating an (S433).

법선이 Z축 방향이 아닐 경우에는 X축 방향인 것으로 볼 수 있으며, 이 경우 해당 벽이 YZ 평면을 구성하는 것으로 볼 수 있다. 따라서, 정점을 삭제하고 삭제 영역 내에 YZ 평면 메쉬를 생성하여 빈 영역을 채울 가상 평면을 만들어 줄 수 있다(S434).If the normal is not in the Z-axis direction, it can be viewed as being in the X-axis direction, and in this case, the wall in question can be viewed as forming the YZ plane. Therefore, a virtual plane can be created to fill the empty area by deleting the vertex and creating a YZ plane mesh within the deleted area (S434).

교차점 그룹이 벽 부분이 아닐 경우, 바닥 부분인지 확인한다(S435). 바닥 부분에 위치하는 경우 정점을 삭제하고 바닥 평면에 해당하는 평면 메쉬, 즉 XY 평면 메쉬를 생성하여 빈 영역을 채울 가상 평면을 만들어 줄 수 있다(S436). If the intersection group is not a wall part, check whether it is a floor part (S435). If it is located on the floor, you can create a virtual plane to fill the empty area by deleting the vertices and creating a plane mesh corresponding to the floor plane, that is, an XY plane mesh (S436).

교차점 그룹이 벽 부분과 바닥 부분이 아닐 경우, 천장 부분인지 확인한다(S437). 천장 부분에 위치하는 경우 정점을 삭제하고 천장 평면에 해당하는 평면 메쉬, 즉 XY 평면 메쉬를 생성하여 빈 영역을 채울 가상 평면을 만들어 줄 수 있다(S438). If the intersection group is not a wall or floor, check whether it is a ceiling (S437). If it is located in the ceiling area, you can create a virtual plane to fill the empty area by deleting the vertices and creating a plane mesh corresponding to the ceiling plane, that is, an XY plane mesh (S438).

도 17 및 도 18을 참조하면, 삭제 대상이 되는 사물 모델이 공간 모델의 1개 면(바닥면)과 맞닿은 경우가 도시되어 있다. Referring to Figures 17 and 18, a case is shown where the object model to be deleted touches one surface (floor surface) of the space model.

사물 모델(550)을 선택하고 삭제하면, 공간 모델의 바닥 평면에 비어 있는 삭제 영역(560)이 만들어진다(도 17의 (b) 참조). When the object model 550 is selected and deleted, an empty deletion area 560 is created on the floor plane of the space model (see (b) of FIG. 17).

이 경우에는 사물 모델(550)이 공간 모델(500)과 접하는 평면이 1개인 경우로, 삭제 영역이 속하게 되는 평면이 접하는 평면과 동일하게 된다. In this case, the object model 550 has only one plane in contact with the space model 500, and the plane to which the deletion area belongs is the same as the plane in contact with it.

따라서, 삭제 영역(560)의 주변 포인트(561)를 이용하여 삭제 영역(560)에 상응하는 폐쇄선(565)를 생성한다(도 18의 (a) 참조). 그리고 폐쇄선(565) 내부에 평면 메쉬를 생성시킴으로써 가상 평면(570)을 만들어주어(도 18의 (b) 참조), 공간 모델(500)에서 비어 있는 영역이 없도록 할 수 있다. Accordingly, a closed line 565 corresponding to the deletion area 560 is created using the surrounding points 561 of the deletion area 560 (see (a) of FIG. 18). Additionally, a virtual plane 570 is created by creating a plane mesh inside the closed line 565 (see (b) of FIG. 18), so that there is no empty area in the space model 500.

도 19 및 도 20을 참조하면, 삭제 대상이 되는 사물 모델이 공간 모델의 2개 면(도면에서는 바닥면과 벽면)과 맞닿은 경우가 도시되어 있다. Referring to FIGS. 19 and 20 , a case is shown where an object model to be deleted touches two surfaces of a space model (the floor surface and the wall surface in the drawings).

사물 모델(550)을 선택하고 삭제하면, 공간 모델의 벽면과 바닥면에 비어 있는 제1 삭제 영역(560a)과 제2 삭제 영역(560b)이 만들어진다(도 19의 (b) 참조). When the object model 550 is selected and deleted, an empty first deletion area 560a and a second deletion area 560b are created on the wall and floor surfaces of the space model (see (b) of FIG. 19).

제1 삭제 영역(560a)의 주변 포인트(561a)를 바닥으로 프로젝션하여 프로젝션 포인트(563a)를 획득할 수 있다(도 20의 (a) 참조). 프로젝션 포인트(563a)는 벽면과 바닥면이 만나는 모서리에 위치하는 교차점으로 볼 수 있는 바, 프로젝션 포인트(563a)를 이용하여 제1 삭제 영역(560a)에 대한 제1 폐쇄선(565a)과, 제2 삭제 영역(560b)에 대한 제2 폐쇄선(565b)을 생성할 수 있다. The projection point 563a can be obtained by projecting the peripheral point 561a of the first deletion area 560a onto the floor (see (a) of FIG. 20). The projection point 563a can be viewed as an intersection located at the corner where the wall and the floor meet. Using the projection point 563a, the first closed line 565a for the first deletion area 560a, and the first closed line 565a are drawn. 2 A second closing line 565b may be created for the deletion area 560b.

제1 폐쇄선(565a) 내에 평면 메쉬를 생성시켜 제1 폐쇄 평면(570a)을 생성할 수 있다. 이 경우 제1 폐쇄선(565a)이 벽 부분에 위치하고 있고, 법선 벡터가 X축 방향인 바, 도 16의 S434에 따라 YZ 평면 메쉬를 생성시킬 수 있다.The first closed plane 570a can be created by creating a planar mesh within the first closed line 565a. In this case, since the first closed line 565a is located in the wall portion and the normal vector is in the X-axis direction, a YZ plane mesh can be created according to S434 of FIG. 16.

또한, 제2 폐쇄선(565b) 내에 평면 메쉬를 생성시켜 제2 폐쇄 평면(570b)을 생성할 수 있다. 이 경우 제2 폐쇄선(570b)이 바닥 부분에 위치하고 있어, 도 16의 S436에 따라 XZ 평면 메쉬를 생성시킬 수 있다. Additionally, the second closed plane 570b can be created by creating a planar mesh within the second closed line 565b. In this case, the second closed line 570b is located at the bottom, so an XZ plane mesh can be created according to S436 of FIG. 16.

그리고 제1 폐쇄 평면(570a)과 제2 폐쇄 평면(570b)을 조합하여 가상 평면(570)을 만들어 줌으로써(도 20의 (d) 참조), 공간 모델(500)에서 비어 있는 영역이 없도록 할 수 있다. And by combining the first closed plane 570a and the second closed plane 570b to create a virtual plane 570 (see (d) of FIG. 20), it is possible to ensure that there are no empty areas in the space model 500. there is.

도 21 및 도 22를 참조하면, 삭제 대상이 되는 사물 모델이 공간 모델의 3개 면(도면에서는 바닥면과 2개의 벽면)과 맞닿은 경우가 도시되어 있다. Referring to Figures 21 and 22, a case where an object model to be deleted is in contact with three surfaces of a space model (the floor surface and two walls in the drawings) is shown.

사물 모델(550)을 선택하고 삭제하면, 공간 모델의 벽면과 바닥면에 비어 있는 제1-1 삭제 영역(560a-1), 제1-2 삭제 영역(560a-2) 및 제2 삭제 영역(560b)이 만들어진다(도 20의 (b) 참조). When the object model 550 is selected and deleted, the empty 1st-1st deletion area 560a-1, 1-2nd deletion area 560a-2, and second deletion area on the wall and floor of the space model ( 560b) is created (see (b) of FIG. 20).

제1-1 삭제 영역(560a-1)의 주변 포인트(561a-1), 제1-2 삭제 영역(560a-2)의 주변 포인트(561a-2)를 바닥으로 프로젝션하여 제1-1 프로젝션 포인트(563a-1) 및 제1-2 프로젝션 포인트(563a-2)를 획득할 수 있다(도 22의 (a) 참조). 제1-1 프로젝션 포인트(563a-1) 및 제1-2 프로젝션 포인트(563a-2)는 벽면과 바닥면이 만나는 모서리에 위치하는 교차점으로 볼 수 있다. The peripheral point 561a-1 of the 1-1 deletion area 560a-1 and the peripheral point 561a-2 of the 1-2 deletion area 560a-2 are projected onto the floor to create the 1-1 projection point. (563a-1) and the 1-2 projection point (563a-2) can be obtained (see (a) of FIG. 22). The 1-1 projection point 563a-1 and the 1-2 projection point 563a-2 can be viewed as intersection points located at the corners where the wall and the floor meet.

또한, 2개의 벽면과 맞닿아 있을 경우, 벽면 사이의 모서리도 추정할 필요가 있다. 따라서, 두 벽면 중 하나에 속하는 삭제 영역(예컨대, 제1-2 삭제 영역(560a-2))에서 다른 하나(제1-1 삭제 영역(560a-1))로 주변 포인트(561c)를 프로젝션하여 제2 프로젝션 포인트(563c)를 획득할 수 있다. Additionally, if it is in contact with two walls, it is necessary to estimate the edge between the walls. Accordingly, by projecting the peripheral point 561c from the deletion area belonging to one of the two walls (e.g., the 1-2 deletion area 560a-2) to the other one (the 1-1 deletion area 560a-1), The second projection point 563c can be obtained.

제1-1 프로젝션 포인트(563a-1), 제1-2 프로젝션 포인트(563a-2), 제2 프로젝션 포인트(563c)를 이용하여 제1-1 삭제 영역(560a-1)에 대한 제1-1 폐쇄선(565a-1), 제1-2 삭제 영역(560a-2)에 대한 제1-2 폐쇄선(565a-2), 제2 삭제 영역(560b)에 대한 제2 폐쇄선(565b)을 생성할 수 있다. 1-1 deletion area 560a-1 using the 1-1 projection point 563a-1, 1-2 projection point 563a-2, and 2nd projection point 563c. 1 closure line 565a-1, 1-2 closure line 565a-2 for the 1-2 deletion area 560a-2, and second closure line 565b for the 2nd deletion area 560b. can be created.

제1-1 폐쇄선(565a-1) 내에 평면 메쉬를 생성시켜 제1-1 폐쇄 평면(570a-1)을 생성할 수 있다. 이 경우 제1-1 폐쇄선(565a-1)이 벽 부분에 위치하고 있고, 법선 벡터가 Y축 방향인 바, 도 16의 S434에 따라 YZ 평면 메쉬를 생성시킬 수 있다.The 1-1 closed plane 570a-1 can be created by creating a plane mesh within the 1-1 closed line 565a-1. In this case, since the 1-1 closed line 565a-1 is located in the wall portion and the normal vector is in the Y-axis direction, a YZ plane mesh can be created according to S434 of FIG. 16.

제1-2 폐쇄선(565a-2) 내에 평면 메쉬를 생성시켜 제1-2 폐쇄 평면(570a-2)을 생성할 수 있다. 이 경우 제1-2 폐쇄선(565a-2)이 벽 부분에 위치하고 있고, 법선 벡터가 Z축 방향인 바, 도 16의 S433에 따라 XY 평면 메쉬를 생성시킬 수 있다.The 1-2 closed plane 570a-2 can be created by creating a plane mesh within the 1-2 closed line 565a-2. In this case, since the 1-2 closed line 565a-2 is located in the wall portion and the normal vector is in the Z-axis direction, an XY plane mesh can be created according to S433 of FIG. 16.

또한, 제2 폐쇄선(565b) 내에 평면 메쉬를 생성시켜 제2 폐쇄 평면(570b)을 생성할 수 있다. 이 경우 제2 폐쇄선(565b)이 바닥 부분에 위치하고 있어, 도 16의 S436에 따라 XZ 평면 메쉬를 생성시킬 수 있다. Additionally, the second closed plane 570b can be created by creating a planar mesh within the second closed line 565b. In this case, the second closed line 565b is located at the bottom, so an XZ plane mesh can be created according to S436 of FIG. 16.

그리고 제1-1 폐쇄 평면(570a-1), 제1-2 폐쇄 평면(570a-2) 및 제2 폐쇄 평면(570b)을 조합하여 가상 평면(570)을 만들어 줌으로써(도 22의 (d) 참조), 공간 모델(500)에서 비어 있는 영역이 없도록 할 수 있다. And by creating a virtual plane 570 by combining the 1-1st closed plane 570a-1, the 1-2nd closed plane 570a-2, and the second closed plane 570b ((d) of FIG. 22) Reference), it is possible to ensure that there are no empty areas in the space model 500.

현실 공간에 대한 3차원 모델링 과정에서 공간 내에 배치된 모든 사물을 치운 상태에서 모바일 스캔을 진행하기는 쉽지 않은 것이 현실이다. 이러한 상황에서 본 실시예에 따르면 공간과 사물을 같이 3차원 모델링한 후 공간 모델과 사물 모델을 구분하여 분리해 냄으로써 사물이 배제된 공간 자체에 관한 모델을 생성하고 활용하게 할 수 있다. The reality is that during the 3D modeling process for real space, it is not easy to perform mobile scanning with all objects placed in the space removed. In this situation, according to this embodiment, it is possible to create and utilize a model for the space itself, excluding objects, by 3D modeling space and objects together and then separating the space model and object model.

사물을 배제하는 과정에서 공간 모델의 평면에 메쉬 혹은 포인트가 존재하지 않고 비어 있는 영역이 발생하게 된다. 사물 모델이 가려 보이지 않는 공간 모델의 일부 영역에 대해서도 추정을 통해 빈 영역 내에 메쉬를 생성시켜 가상 평면을 만들어 줌으로써, 공간 모델이 불완전한 3차원 모델이 되는 것을 방지해 줄 수 있다. In the process of excluding objects, an empty area is created on the plane of the spatial model with no mesh or points. By creating a virtual plane by creating a mesh in the empty area through estimation of some areas of the spatial model that are not visible because the object model is obscured, it is possible to prevent the spatial model from becoming an incomplete three-dimensional model.

전술한 공간 모델링을 통한 모바일 스캔 디지털 트윈 구현 방법과 가상 평면 생성 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The above-described mobile scan digital twin implementation method and virtual plane creation method through spatial modeling can also be implemented in the form of a recording medium containing instructions executable by a computer, such as an application or program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and non-volatile media, removable and non-removable media. Additionally, computer-readable media may include computer storage media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.

전술한 공간 모델링을 통한 모바일 스캔 디지털 트윈 구현 방법과 가상 평면 생성 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 공간 모델링을 통한 모바일 스캔 디지털 트윈 구현 방법과 가상 평면 생성 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The method of implementing a mobile scan digital twin through spatial modeling and the method of creating a virtual plane described above can be executed by an application installed by default on the terminal (this may include programs included in the platform or operating system, etc., installed by default on the terminal). It may also be executed by an application (i.e., program) installed by the user directly on the master terminal through an application providing server such as an application store server, an application, or a web server related to the service. In this sense, the method of implementing a mobile scan digital twin through spatial modeling and the method of creating a virtual plane are implemented as an application (i.e. program) installed by default on the terminal or directly installed by the user and can be read by a computer such as a terminal. It can be recorded on a recording medium.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to preferred embodiments, those skilled in the art can vary the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be modified and changed.

100: 모바일 스캔 디지털 트윈 구현 장치
110: 모바일 스캔부 120: 모델링부
130: 메쉬 분석부 140: 공간 사물 분리부
150: 저장부 160: 뷰어/에디터
170: 스타일러
500: 공간 모델 550: 사물 모델
560, 560a, 560b, 560a-1, 560a-2: 삭제 영역
561, 561a, 561a-1, 561a-2, 561c: 주변 포인트
563a, 563a-1, 563a-2, 563c: 프로젝션 포인트
570: 가상 평면
100: Mobile scanning digital twin implementation device
110: mobile scanning unit 120: modeling unit
130: mesh analysis unit 140: spatial object separation unit
150: storage unit 160: viewer/editor
170: Styler
500: Space model 550: Object model
560, 560a, 560b, 560a-1, 560a-2: Deleted area
561, 561a, 561a-1, 561a-2, 561c: Nearby points
563a, 563a-1, 563a-2, 563c: Projection points
570: virtual plane

Claims (6)

모바일 스캔 디지털 트윈 구현 시 가상 평면 생성 방법을 수행하도록 하기 위해 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터로 하여금 이하의 단계들을 수행하도록 하며, 상기 단계들은,
현실 공간 및 그 내부에 배치된 사물을 모바일 스캔하여 3차원 모델을 생성하고, 공간 머지와 사물 머지를 통해 공간 모델과 사물 모델을 분리하는 단계;
사용자 명령에 상응하여 삭제할 상기 사물 모델을 선택하는 단계;
선택된 상기 사물 모델을 삭제 처리하는 단계; 및
상기 사물 모델과 접하는 상기 공간 모델의 평면에 발생하는 삭제 영역을 메꿀 가상 평면을 생성하는 단계를 포함하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable medium for performing a virtual plane creation method when implementing a mobile scan digital twin, wherein the computer program causes a computer to perform the following steps, the steps comprising:
Creating a 3D model by mobile scanning real space and objects placed therein, and separating the space model and object model through space merging and object merging;
selecting the object model to be deleted in response to a user command;
Deleting the selected object model; and
A computer program stored in a computer-readable medium, comprising the step of generating a virtual plane to fill a deleted area occurring in a plane of the spatial model that contacts the object model.
제1항에 있어서,
상기 가상 평면 생성 단계는,
상기 삭제 영역과 인접된 공간 메쉬를 찾고, 벽과 바닥으로 구분하는 단계;
상기 벽의 삭제 영역의 주변 포인트를 상기 바닥으로 프로젝션하여 프로젝션 포인트를 획득하는 단계;
상기 벽의 삭제 영역의 주변 포인트와 상기 프로젝션 포인트로 제1 폐쇄선을 만들고, 그 내부를 평면 메쉬로 채운 제1 폐쇄 평면을 생성하는 단계;
상기 바닥의 삭제 영역의 주변 포인트와 상기 프로젝션 포인트로 제2 폐쇄선을 만들고, 그 내부를 평면 메쉬로 채운 제2 폐쇄 평면을 생성하는 단계; 및
상기 제1 폐쇄 평면과 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
According to paragraph 1,
The virtual plane creation step is,
Finding a spatial mesh adjacent to the deletion area and dividing it into a wall and a floor;
acquiring a projection point by projecting a peripheral point of the deleted area of the wall onto the floor;
creating a first closed line using peripheral points of the deleted area of the wall and the projection point, and creating a first closed plane whose interior is filled with a plane mesh;
creating a second closed line using peripheral points of the deletion area of the floor and the projection point, and creating a second closed plane filling the inside of the projection point with a planar mesh; and
Combining the first closed plane and the second closed plane to generate the virtual plane.
제2항에 있어서,
상기 제1 폐쇄 평면을 생성하는 단계는, 상기 법선이 Z축 방향인 경우 XY 평면 메쉬를 생성하고, 상기 법선이 X축 방향인 경우 YZ 평면 메쉬를 생성하는 것을 특징으로 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
According to paragraph 2,
The step of generating the first closed plane includes generating an XY plane mesh when the normal is in the Z-axis direction, and generating a YZ plane mesh when the normal is in the X-axis direction. A stored computer program.
제1항에 있어서,
상기 사물 모델이 상기 공간 모델과 접하는 면이 1개일 경우, 상기 삭제 영역의 주변 포인트를 이용하여 폐쇄선을 생성하고, 상기 폐쇄선 내부를 평면 메쉬로 채움으로써 상기 가상 평면이 생성되는 것을 특징으로 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
According to paragraph 1,
When the object model has one surface in contact with the space model, a closed line is created using peripheral points of the deletion area, and the virtual plane is created by filling the inside of the closed line with a plane mesh. A computer program stored on a computer-readable medium.
제1항에 있어서,
상기 사물 모델이 상기 공간 모델과 접하는 면이 2개일 경우,
상기 삭제 영역은 벽 부분의 제1 삭제 영역과 바닥 부분의 제2 삭제 영역으로 구분되고,
상기 제1 삭제 영역의 주변 포인트를 바닥으로 프로젝션한 프로젝션 포인트를 이용하여 생성된 제1 폐쇄선의 내부를 평면 메쉬로 채움으로써 제1 폐쇄 평면이 생성되며,
상기 제2 삭제 영역의 주변 포인트와 상기 프로젝션 포인트를 이용하여 생성된 제2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제2 폐쇄 평면이 생성되고,
상기 제1 폐쇄 평면과 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면이 생성되는 것을 특징으로 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
According to paragraph 1,
If the object model has two surfaces in contact with the space model,
The deletion area is divided into a first deletion area of the wall portion and a second deletion area of the floor portion,
A first closed plane is created by filling the interior of the first closed line created using projection points obtained by projecting peripheral points of the first deletion area onto the floor with a plane mesh,
A second closed plane is created by filling the interior of the second closed line created using the projection point and the peripheral points of the second deletion area with a planar mesh,
A computer program stored in a computer-readable medium, wherein the virtual plane is generated by combining the first closed plane and the second closed plane.
제1항에 있어서,
상기 사물 모델이 상기 공간 모델과 접하는 면이 3개일 경우,
상기 삭제 영역은 서로 이웃하는 벽 부분의 제1-1 삭제 영역 및 제1-2 삭제 영역과 바닥 부분의 제2 삭제 영역으로 구분되고,
상기 제1-1 삭제 영역 및 상기 제1-2 삭제 영역의 주변 포인트를 바닥으로 프로젝션한 제1-1 프로젝션 포인트 및 제1-2 프로젝션 포인트와, 상기 제1-1 삭제 영역 및 상기 제1-2 삭제 영역 중 어느 하나의 주변 포인트를 이웃하는 다른 벽으로 프로젝션한 제2 프로젝션 포인트를 이용하여 생성된 제1-1 폐쇄선 및 제1-2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제1 폐쇄 평면 및 제1-2 폐쇄 평면이 생성되며,
상기 제2 삭제 영역의 주변 포인트와 상기 제1-1 프로젝션 포인트, 상기 제1-2 프로젝션 포인트를 이용하여 생성된 제2 폐쇄선의 내부를 평면 메쉬로 채움으로써 제2 폐쇄 평면이 생성되고,
상기 제1-1 폐쇄 평면, 상기 제1-2 폐쇄 평면 및 상기 제2 폐쇄 평면을 조합하여 상기 가상 평면이 생성되는 것을 특징으로 하는 컴퓨터-판독 가능 매체에 저장된 컴퓨터 프로그램.
According to paragraph 1,
If the object model has three surfaces in contact with the space model,
The deletion area is divided into a 1-1 deletion area and a 1-2 deletion area of the adjacent wall portion and a second deletion area of the floor portion,
A 1-1 projection point and a 1-2 projection point that project peripheral points of the 1-1 deletion area and the 1-2 deletion area onto the floor, and the 1-1 deletion area and the 1-2 deletion area. 2 A first closed plane is created by filling the interior of the 1-1 closed line and the 1-2 closed line created using a second projection point by projecting a peripheral point of any one of the deletion areas to another neighboring wall with a plane mesh. and a first-second closed plane is created,
A second closed plane is created by filling the interior of a second closed line created using the peripheral points of the second deletion area, the 1-1 projection point, and the 1-2 projection point with a planar mesh,
A computer program stored in a computer-readable medium, wherein the virtual plane is generated by combining the 1-1 closed plane, the 1-2 closed plane, and the second closed plane.
KR1020220099985A 2022-08-10 2022-08-10 Mobile digital twin implement apparatus using space modeling and virtual plane generating method KR20240021542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220099985A KR20240021542A (en) 2022-08-10 2022-08-10 Mobile digital twin implement apparatus using space modeling and virtual plane generating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220099985A KR20240021542A (en) 2022-08-10 2022-08-10 Mobile digital twin implement apparatus using space modeling and virtual plane generating method

Publications (1)

Publication Number Publication Date
KR20240021542A true KR20240021542A (en) 2024-02-19

Family

ID=90055890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220099985A KR20240021542A (en) 2022-08-10 2022-08-10 Mobile digital twin implement apparatus using space modeling and virtual plane generating method

Country Status (1)

Country Link
KR (1) KR20240021542A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045321A (en) 2018-10-22 2020-05-04 에스케이텔레콤 주식회사 Space scanning apparatus and information processing method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200045321A (en) 2018-10-22 2020-05-04 에스케이텔레콤 주식회사 Space scanning apparatus and information processing method thereof

Similar Documents

Publication Publication Date Title
JP7271099B2 (en) File generator and file-based video generator
US7903111B2 (en) Depth image-based modeling method and apparatus
US11232628B1 (en) Method for processing image data to provide for soft shadow effects using shadow depth information
EP2611182A2 (en) Image processing method and apparatus using multi-layer representation
CN101019151A (en) Image processing device and image processing method
KR20150104073A (en) Methodology for 3d scene reconstruction from 2d image sequences
KR20110090958A (en) Generation of occlusion data for image properties
US11227428B2 (en) Modification of a live-action video recording using volumetric scene reconstruction to replace a designated region
TWI716874B (en) Image processing apparatus, image processing method, and image processing program
JPH10255081A (en) Image processing method and image processor
EP0903695B1 (en) Image processing apparatus
EP4244820A1 (en) Image processing method, recording medium, and image processing system
KR20240021539A (en) Mobile digital twin implement apparatus using space modeling and virtual plane mapped texture generating method
CN111773710B (en) Texture image processing method and device, electronic equipment and storage medium
KR20240021542A (en) Mobile digital twin implement apparatus using space modeling and virtual plane generating method
JPH08329281A (en) Image display method
KR101752691B1 (en) Apparatus and method for providing virtual 3d contents animation where view selection is possible
US20230394701A1 (en) Information processing apparatus, information processing method, and storage medium
KR20240020801A (en) Mobile digital twin implement method and apparatus using space modeling
KR20240020800A (en) Mobile digital twin implement method and apparatus using space modeling
CN116468736A (en) Method, device, equipment and medium for segmenting foreground image based on spatial structure
KR20240022097A (en) Mobile digital twin implement apparatus using space modeling and modeling object editing method
KR20240022098A (en) Digital twin space service providing method and apparatus using mobile digital twin implement
AU2012203857B2 (en) Automatic repositioning of video elements
CN111643897A (en) Information processing method, device, system and equipment