KR20230076242A - Method and device for recognizing error of drawing - Google Patents
Method and device for recognizing error of drawing Download PDFInfo
- Publication number
- KR20230076242A KR20230076242A KR1020210163002A KR20210163002A KR20230076242A KR 20230076242 A KR20230076242 A KR 20230076242A KR 1020210163002 A KR1020210163002 A KR 1020210163002A KR 20210163002 A KR20210163002 A KR 20210163002A KR 20230076242 A KR20230076242 A KR 20230076242A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual object
- space
- model
- overlapping
- virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000005259 measurement Methods 0.000 claims description 53
- 238000001514 detection method Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 30
- 238000013473 artificial intelligence Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000010865 sewage Substances 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
Abstract
Description
본 발명의 실시 예는 도면과 도면을 토대로 만들어진 실제객체 사이의 오차를 파악하는 방법 및 그 장치에 관한 것이다.An embodiment of the present invention relates to a method and apparatus for determining an error between a drawing and an actual object made based on the drawing.
현실 세계의 기계나 장비, 사물 등의 객체를 컴퓨터 속 가상세계에 구현하는 디지털 트윈(digital twin) 기술은 건축, 에너지, 항공, 헬스케어, 자동차, 국방 분야 등 다양한 분야에서 활용되고 있다. 예를 들어, 건설현장 또는 산업현장에서 도면과 디지털트윈으로 만들어진 BIM(Building Information Modeling)의 허용오차범위를 측정하여, 설계단계와 공정/공사 단계, 품질단계에서 발생하는 오차를 줄일 수 있다.Digital twin technology, which implements objects such as machines, equipment, and objects in the real world into a virtual world in a computer, is used in various fields such as architecture, energy, aviation, healthcare, automobiles, and national defense. For example, by measuring the tolerance range of BIM (Building Information Modeling) made with drawings and digital twins at construction sites or industrial sites, errors occurring in the design phase, process/construction phase, and quality phase can be reduced.
그러나 현실 세계의 객체를 가상 세계의 객체로 구현할 때 많이 사용되는 깊이카메라(depth camera)는 렌즈 왜곡(lens distortion)으로 인한 오차가 존재하며 이를 소프트웨어 알고리즘만으로 극복하는 것은 매우 어렵다. 건축 분야에서 디지털트윈의 오차는 설계나 공정/공사 단계 등에서 오차를 발생시켜 건축물의 안전과도 밀접한 관계가 있으므로 실제 세계의 객체와 정확하게 닮은 가상 세계의 객체 구현이 필요하다.However, depth cameras, which are often used when real world objects are implemented as objects in the virtual world, have errors due to lens distortion, and it is very difficult to overcome them only with software algorithms. In the field of architecture, errors in digital twins cause errors in design or process/construction stages, which are closely related to the safety of buildings, so it is necessary to implement objects in the virtual world that exactly resemble objects in the real world.
본 발명의 실시 예가 이루고자 하는 기술적 과제는, 현실 세계의 실제객체(real object)를 가상객체(virtual object)로 생성하여 도면의 3차원 모델과 비교함으로써 실제객체와 도면의 오차를 정확하게 파악할 수 있는 방법 및 그 장치를 제공하는 데 있다.A technical problem to be achieved by an embodiment of the present invention is a method for accurately identifying the error between a real object and a drawing by generating a real object in the real world as a virtual object and comparing it with a 3D model of the drawing. and to provide the device.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 도면 오차 파악방법의 일 예는, 일정 공간의 객체를 깊이카메라와 라이다로 함께 촬영하고 측정하여 가상객체를 생성하는 단계; 상기 객체에 대한 기 정의된 도면의 3차원 모델과 상기 가상객체를 중첩시키는 단계; 및 상기 중첩 결과를 기초로 상기 도면과 상기 가상객체 사이의 오차를 파악하는 단계;를 포함한다. An example of a drawing error detection method according to an embodiment of the present invention for achieving the above technical problem is to create a virtual object by photographing and measuring an object in a certain space with a depth camera and lidar; overlapping a 3D model of a predefined drawing of the object with the virtual object; and determining an error between the drawing and the virtual object based on the overlapping result.
상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 도면오차파악장치의 일 예는, 일정 공간의 객체를 깊이카메라와 라이다로 함께 촬영하고 측정하여 가상객체를 생성하는 객체생성부; 상기 객체에 대한 기 정의된 도면을 토대로 만들어진 3차원 모델과 상기 가상객체를 중첩시키는 중첩부; 및 상기 중첩 결과를 기초로 상기 도면과 상기 가상객체 사이의 오차를 파악하는 오차파악부;를 포함한다.An example of a drawing error detection device according to an embodiment of the present invention for achieving the above technical problem is an object generator for generating a virtual object by photographing and measuring an object in a certain space with a depth camera and lidar; an overlapping unit for overlapping the virtual object with a 3D model made based on a predefined drawing of the object; and an error detection unit that determines an error between the drawing and the virtual object based on the overlapping result.
본 발명의 실시 예에 따르면, 현실 세계의 객체를 가상 세계의 가상객체로 생성한 후 이를 도면의 3차원 모델과 비교하여 객체가 도면과 정확하게 일치하는지 여부를 파악할 수 있다. 또한 깊이카메라만으로 가상객체를 만드는 경우 렌즈 왜곡(lens distortion)에 의해 가상객체와 실제객체 사이에 차이가 발생하는 문제점을 라이다(LiDAR, Light Detection and Ranging)를 통해 해결하여 객체와 정확하게 닯은 또는 허용오차 범위 내에서 일치하는 가상객체를 생성할 수 있다.According to an embodiment of the present invention, after generating an object in the real world as a virtual object in the virtual world, it is possible to determine whether the object exactly matches the drawing by comparing it with a 3D model of the drawing. In addition, when a virtual object is created with only a depth camera, the problem of a difference between the virtual object and the real object due to lens distortion is solved through LiDAR (Light Detection and Ranging) to accurately match or match the object. You can create matching virtual objects within tolerance.
도 1은 본 발명의 실시 예에 따른 도면오차파악장치의 일 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 도면 오차 파악 방법의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따라 가상객체와 도면의 3차원 모델을 중첩하여 표시한 일 예를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 도면 오차 파악 방법의 일 예를 도시한 흐름도,
도 5는 본 발명의 실시 예에 따른 복수의 공간의 객체를 도면의 3차원 모델과 중첩하는 방법의 일 예를 도시한 도면,
도 6은 본 발명의 실시 예에 따른 도면오차파악장치의 일 예의 구성을 도시한 도면,
도 7은 본 발명의 실시 예에 따른 가상공간의 객체 생성을 위한 시스템의 개략적인 구성의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따른 촬영장치의 촬영방법의 일 예를 도시한 도면,
도 9는 본 발명의 실시 예에 따른 가상공간의 객체를 생성하는 방법의 일 예를 도시한 흐름도,
도 10은 본 발명의 실시 예에 따른 영상프레임과 측정프레임의 배경과 객체를 구분하는 방법의 일 예를 도시한 도면,
도 11은 본 발명의 실시 예에 따른 격자공간의 일 예를 도시한 도면,
도 12는 본 발명의 실시 예에 따른 영상프레임에서 구분한 객체를 격자공간에 표시한 일 예를 도시한 도면,
도 13은 본 발명의 실시 예에 따른 객체의 픽셀의 깊이값을 보정하는 방법의 일 예를 도시한 도면,
도 14는 본 발명의 실시 예에 따른 3차원 가상 객체를 생성하는 방법의 일 예를 도시한 도면,
도 15는 본 발명의 실시 예에 따른 3차원 가상 객체 생성을 위한 포인트 클라우드를 추출한 일 예를 도시한 도면,
도 16은 본 발명의 실시 예에 따른 3차원 가상 객체의 생성 예를 도시한 도면, 그리고,
도 17은 본 발명의 실시 예에 다른 가상객체생성장치의 일 예의 구성을 도시한 도면이다.1 is a diagram showing an example of a drawing error detection device according to an embodiment of the present invention;
2 is a diagram showing an example of a drawing error detection method according to an embodiment of the present invention;
3 is a diagram showing an example in which a virtual object and a 3D model of a drawing are overlapped and displayed according to an embodiment of the present invention;
4 is a flowchart illustrating an example of a drawing error detection method according to an embodiment of the present invention;
5 is a diagram showing an example of a method of overlapping a plurality of spatial objects with a 3D model of a drawing according to an embodiment of the present invention;
6 is a diagram showing the configuration of an example of a drawing error detection device according to an embodiment of the present invention;
7 is a diagram showing an example of a schematic configuration of a system for creating objects in a virtual space according to an embodiment of the present invention;
8 is a diagram showing an example of a photographing method of a photographing device according to an embodiment of the present invention;
9 is a flowchart illustrating an example of a method for generating an object in a virtual space according to an embodiment of the present invention;
10 is a diagram showing an example of a method for distinguishing a background and an object of a video frame and a measurement frame according to an embodiment of the present invention;
11 is a diagram showing an example of a lattice space according to an embodiment of the present invention;
12 is a diagram showing an example of displaying objects classified in a video frame in a grid space according to an embodiment of the present invention;
13 is a diagram showing an example of a method of correcting a depth value of a pixel of an object according to an embodiment of the present invention;
14 is a diagram showing an example of a method for generating a 3D virtual object according to an embodiment of the present invention;
15 is a diagram showing an example of extracting a point cloud for generating a 3D virtual object according to an embodiment of the present invention;
16 is a diagram showing an example of generating a 3D virtual object according to an embodiment of the present invention, and
17 is a diagram showing the configuration of an example of a virtual object generating device according to an embodiment of the present invention.
이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 도면 오차 파악 방법 및 그 장치에 대해 상세히 살펴본다.Hereinafter, with reference to the accompanying drawings, a drawing error detection method and apparatus according to an embodiment of the present invention will be described in detail.
도 1은 본 발명의 실시 예에 따른 도면오차파악장치의 일 예를 도시한 도면이다.1 is a diagram showing an example of a drawing error detection device according to an embodiment of the present invention.
도 1을 참조하면, 도면오차파악장치(100)는 현실 세계의 객체를 기반으로 만든 가상객체(110)와 객체에 대한 도면의 3차원 모델(120)을 비교하여 오차 여부를 파악한다. 본 실시 예에서, 현실 세계의 객체라고 함은 건물(예를 들어, 하수도관, 기둥, 벽면 등)이나 각종 시설물 또는 각종 물건(옷장, 싱크대, 의자, 신발 등) 등 도면에 따라 만들어지는 모든 대상물을 포함한다. 다만 이하에서는 설명의 편의를 위하여 객체의 예로 주로 건물 또는 건물의 부속물 등을 제시하여 설명한다. 3차원 모델(120)은 객체 생성을 위하여 미리 설계된 도면의 3차원 데이터를 의미이며, 일 예로 캐드도면으로 만들어진 3차원 모델 등이 있다. Referring to FIG. 1 , the drawing
건물 등은 미리 설계된 도면에 따라 시공된다. 도면에 따라 건설된 건물 등이 도면에 부합하게 시공되었는지 확인하기 위해서는 육안으로 확인하고 길이나 두께 등을 실측하는 과정을 수행하므로 많은 시간이 소요될 뿐만 아니라 정확한 실측에 어려움이 있을 수 있다. 이에 본 실시 예는 도면에 따라 시공 또는 완공된 건물이나 시설물 등의 각종 객체를 가상객체(110)로 생성한 후 가상객체(110)를 도면의 3차원 모델(120)과 비교하는 과정을 통해 도면과 현실 세계의 객체 사이의 오차(130)가 발생하는지 파악하는 방법을 제시한다. Buildings, etc., are constructed according to pre-designed drawings. In order to check whether a building constructed according to the drawing is constructed in accordance with the drawing, it is visually checked and the length or thickness is measured, which takes a lot of time and may be difficult to accurately measure. Accordingly, in this embodiment, various objects, such as construction or completed buildings or facilities, are created as
도 2는 본 발명의 실시 예에 따른 도면 오차 파악 방법의 일 예를 도시한 도면이다.2 is a diagram illustrating an example of a drawing error detection method according to an embodiment of the present invention.
도 2를 참조하면, 도면오차파악장치(100)는 객체를 깊이카메라와 라이다를 통해 촬영하고 측정하여 가상객체를 생성한다. 가상객체와 도면의 3차원 모델을 중첩(250)하기 위해서는 가상객체와 도면이 3차원 소프트웨어(240)에서 읽을 수 있는 파일 포맷이 되어야 한다.Referring to FIG. 2 , the drawing
도면오차파악장치(100)가 생성하는 가상객체의 원본데이터(200)의 파일 포맷과 도면의 파일 포맷은 서로 상이할 수 있다. 이 경우에, 도면오차파악장치(100)는 가상객체의 원본데이터(200)를 3차원 소프트웨어(240)가 읽을 수 있는 제1 포맷으로 변환한 제1 포맷(예를 들어, RAWDATA 또는 "*.obj" 포맷의 파일)의 가상객체파일(220)을 생성한다. 여기서, 3차원 소프트웨어(240)는 캐드프로그램 등 3차원 데이터를 표시할 수 있는 종래의 다양한 소프트웨어일 수 있다. 다른 예로, 3차원 소프트웨어(240)는 도면오차파악장치(100)의 일부로 구현될 수 있다. The file format of the
다른 실시 예로, 도면오차파악장치(100)는 가상객체의 원본데이터(200)를 제1 포맷 외에 제2 포맷 등 복수의 서로 다른 포맷으로 변환할 수 있다. 즉, 도면오차파악장치(100)는 복수의 데이터 포맷 변환 알고리즘을 포함하고, 가상객체의 원본데이터(200)를 도면파일(230)의 포맷과 동일한 포맷이 되도록 포맷 변환 알고리즘을 적용하여 변환할 수 있다. 데이터의 포맷 변환 과정 그 자체는 이미 널리 알려진 기술이다. 도면오차파악장치는 본 실시 예에 종래의 다양한 데이터 포맷 변환 알고리즘을 적용할 수 있다. 만약, 도면오차파악장치(100)가 생성하는 가상객체의 원본데이터(200)의 포맷이 도면 파일(230)의 포맷과 동일하다면 본 실시 예와 같은 데이터 포맷 변환과정은 생략될 수 있다. As another embodiment, the drawing
도 3은 본 발명의 실시 예에 따라 가상객체와 도면의 3차원 모델을 중첩하여 표시한 일 예를 도시한 도면이다. 3 is a diagram illustrating an example in which a virtual object and a 3D model of a drawing are overlapped and displayed according to an embodiment of the present invention.
도 3을 참조하면, 도면오차파악장치(100)는 도면을 기반으로 만들어진 3차원 모델(300)과 실제 객체를 깊이카메라와 라이다로 촬영하여 생성한 가상객체(310)를 중첩(320)하여 오차 여부를 확인한다. 깊이카메라와 라이다를 이용하여 가상객체를 생성하는 구체적인 방법에 대해서는 도 7 내지 도 16에서 다시 살펴본다.Referring to FIG. 3, the drawing
예를 들어, 실제 공간에 존재하는 적어도 하나 이상의 객체는 미리 설계된 도면에 따라 만들어진다. 예를 들어, 건물의 상하수도관이나 벽면 구조 등은 건축 도면에 따라 만들어진다. 도면오차파악장치는 촬영장치를 이용하여 도면을 기반으로 만들어진 객체를 촬영하여 가상객체(310)를 생성한다. 도면오차파악장치(100)는 도면의 3차원 모델(300)에 존재하는 객체(302)와 가상객체(310)를 중첩(320)하여 오차가 존재하는 부분(330)을 파악하고, 오차 부분(330)을 색상이나 기호 등 사용자가 식별할 수 있는 방법으로 구분 표시할 수 있다. For example, at least one object existing in real space is made according to a pre-designed drawing. For example, water supply and sewage pipes or wall structures of buildings are made according to construction drawings. The drawing error detection device creates a
도면오차파악장치(100)가 생성하는 가상객체(310)의 제1 좌표계와 도면의 3차원 모델(300)의 제2 좌표계가 동일하면, 가상객체(310)와 3차원 모델(300)을 제1 좌표계(또는 제2 좌표계)에 그대로 표시하면 된다. 그러나 제1 좌표계와 제2 좌표계가 상이하면(예를 들어, 원점이나 각 축의 값 범위 등), 가상객체(310)와 3차원 모델(300)을 그대로 중첩하기는 힘들다.If the first coordinate system of the
이 경우에, 도면오차파악장치(100)는 특징점(feaure point)(예를 들어, 모서리나 꼭짓점 등)을 기반으로 가상객체(310)를 3차원 모델에 대응하는 객체에 맞도록 크기, 방향 등을 변형하여 중첩할 수 있다. 이미지에서 특징점을 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 다른 실시 예로, 건물 등의 3차원 모델(300)에는 복수의 객체가 존재하므로 가상객체(310)를 3차원 모델(300)에 존재하는 복수의 객체 중 어느 것과 중첩시켜야 하는지 파악하기 어려울 수 있으므로, 도면오차파악장치(100)는 동일 객체를 인식하도록 훈련된 인공지능모델을 사용할 수 있다. 예를 들어, 도면오차파악장치(100)는 파이프 객체를 식별하도록 훈련된 인공지능모델을 이용하여, 3차원 모델(300)에서 파이프 객체(302)를 식별하고, 식별된 3차원 모델(300)의 파이프 객체(302)와 가상객체(310)를 필요에 따라 크기나 방향 등을 변형하여 중첩할 수 있다. 가상객체의 종류에 따라 각 객체의 인식을 위한 다양한 인공지능모델이 존재할 수 있다. 객체 식별을 위한 인공지능모델의 학습 및 생성은 이미 널리 알려진 기술이므로 이에 대한 추가적인 설명은 생략한다. In this case, the drawing
도 4는 본 발명의 실시 예에 따른 도면 오차 파악 방법의 일 예를 도시한 흐름도이다.4 is a flowchart illustrating an example of a drawing error detection method according to an embodiment of the present invention.
도 4를 참조하면, 도면오차파악장치(100)는 깊이카메라와 라이다를 통해 현실 공간의 실제객체를 촬영하고 측정하여 가상객체를 생성한다(S400). 예를 들어, 깊이카메라만을 이용하여 가상객체를 생성할 경우 렌즈 왜곡 등에 의해 가상객체가 왜곡되어 생성되는 문제점이 존재하므로, 도면오차파악장치(100)는 깊이카메라로 촬영하여 얻은 영상프레임에서 실제객체에 해당하는 영역의 픽셀의 깊이값을 라이다로 측정하여 얻은 측정프레임의 포인트의 거리값으로 보정한 후 보정된 픽셀의 깊이값을 기준으로 가상객체를 생성한다. 가상객체의 생성에 대해서는 도 7 이하에서 다시 살펴본다.Referring to FIG. 4 , the drawing
도면오차파악장치(100)는 가상객체와 도면의 3차원 모델을 중첩하여(S410), 도면과 가상객체 사이의 오차를 파악한다(S420). 가상객체는 도면을 기반으로 실제 공간에 만들어진 객체를 촬영하여 생성한 것이므로, 가상객체와 도면의 3차원 모델을 비교하여 실제객체가 도면과 일치하는지 파악할 수 있다. 도면과의 오차를 정확하게 파악하기 위해서는 가상객체와 실제객체와 오차없이 생성되는 것이 중요하며, 이를 위해 본 실시 예는 앞서 설명한 것과 같이 깊이카메라와 함께 라이다를 이용하여 가상객체를 생성한다. The drawing
도 5는 본 발명의 실시 예에 따른 복수의 공간의 객체를 도면의 3차원 모델과 중첩하는 방법의 일 예를 도시한 도면이다.5 is a diagram illustrating an example of a method of overlapping a plurality of spatial objects with a 3D model of a drawing according to an embodiment of the present invention.
도 5를 참조하면, 건물 등은 복수의 공간(500)으로 구분되고, 각 공간에는 동일한 종류 또는 서로 다른 종류의 객체가 존재할 수 있다. 예를 들어, 도 3과 같이 가스관이나 상하수도관 등의 파이프는 건물의 다양한 공간에 존재할 수 있다. 실시 예에 따라 실 공간을 촬영하여 하나의 종류의 객체에 대한 가상객체를 생성하거나 하나의 촬영 영상에서 복수의 객체를 구분하고 복수의 객체에 대한 가상객체를 생성할 수 있다. 이하에서는 설명의 편의를 위하여 복수의 공간에서 하나의 종류에 대한 객체를 인식하는 경우를 위주로 설명한다.Referring to FIG. 5 , a building or the like is divided into a plurality of
일 실시 예로, 건물의 특정 공간을 촬영하여 얻은 데이터를 기반으로 생성된 가상객체가 존재하면, 사용자는 도면오차파악장치(100)에 가상객체와 비교되어야 할 도면의 3차원 모델의 영역을 지정하거나 입력할 수 있다. 예를 들어, 제1 공간을 촬영하여 가상객체가 생성되었다면, 사용자는 가상객체가 생성된 지점이 제1 공간임을 나타내는 공간식별정보를 도면오차파악장치(100)에 입력하거나 3차원 모델에서 제1 공간의 영역을 선택할 수 있다. 도면오차파악장치(100)는 도면의 3차원 모델에서 제1 공간에 해당하는 영역을 파악한 후 3차원 모델의 해당 영역과 제1 공간의 가상객체를 중첩 비교하여 오차 부위를 파악할 수 있다. As an example, if there is a virtual object created based on data obtained by photographing a specific space of a building, the user designates the region of the 3D model of the drawing to be compared with the virtual object to the drawing
다른 실시 예로, 도면오차파악장치(100)는 촬영장치로 건물 등의 복수의 공간을 촬영하여 복수의 공간에 대한 가상객체를 각각 생성할 수 있다. 이 경우에도 위 예와 같이 사용자가 각각의 가상객체가 복수의 공간 중 어느 공간에 해당하는 것인지 도면오차파악장치(100)에 직접 입력할 수 있다. 그러나 가상객체의 개수가 수십개 또는 수백개 이상이면 이를 일일이 사용자가 입력하는 것이 어려울 수 있다. 이를 해결하는 방법으로, 도면오차파악장치(100)는 촬영장치가 촬영한 데이터를 저장할 때 촬영 공간에 대한 정보를 함께 저장할 수 있다. 예를 들어, 촬영장치는 각 공간의 일측에 위치한 태그(510)(예를 들어, 바코드나 QR 코드, RFID 등)를 인식한 후 촬영할 수 있다. 태그에는 각 공간을 구분하는 식별정보가 저장되어 있다. 촬영장치는 태그(510)의 식별정보와 촬영 데이터를 저장하거나 도면오차파악장치(100)로 제공할 수 있다. 다른 실시 예로, 촬영장치는 사용자로부터 직접 입력받은 각 공간에 대한 식별정보를 각 공간의 촬영 데이터와 함께 저장하거나 도면오차파악장치(100)로 전송할 수 있다. As another embodiment, the drawing
도면오차파악장치(100)는 각 공간에 대한 가상객체(520)를 생성하고 이를 각 공간의 식별정보와 맵핑하여 저장할 수 있다. 도면오차파악장치(100)는 각 공간의 식별정보를 기초로 도면의 3차원 모델의 해당 영역을 구분하고, 각 공간의 식별정보와 맵핑되어 저장된 가상객체(520)를 3차원 모델의 해당 영역과 중첩하여 오차를 파악할 수 있다. The drawing
도 6은 본 발명의 실시 예에 따른 도면오차파악장치의 일 예의 구성을 도시한 도면이다.6 is a diagram showing the configuration of an example of a drawing error detection device according to an embodiment of the present invention.
도 6을 참조하면, 도면오차파악장치(100)는 객체생성부(600), 중첩부(610) 및 오차파악부(620)를 포함한다. 일 실시 예로, 도면오차파악장치(100)는 메모리, 프로세서, 입출력장치 등을 포함하는 컴퓨팅 장치로 구현될 수 있다. 이 경우 본 실시 예의 각 구성은 소프트웨어로 구현되어 메모리에 탑재된 후 프로세서에 의해 수행될 수 있다.Referring to FIG. 6 , the drawing
객체생성부(600)는 일정 공간의 실제객체를 깊이카메라와 라이다로 함께 촬영하고 측정하여 가상객체를 생성한다. 가상객체의 생성방법이 도 7 이하에 도시되어 있다.The
중첩부(610)는 객체에 대한 기 정의된 도면을 토대로 만들어진 3차원 모델과 가상객체를 중첩시킨다. 중첩의 일 예가 도 3에 도시되어 있다. 또한 복수의 공간에 존재하는 복수의 가상객체를 도면의 3차원 모델의 해당 영역과 중첩시키는 방법의 예가 도 5에 도시되어 있다. The overlapping
오차파악부(620)는 중첩 결과를 기초로 상기 도면과 가상객체 사이의 오차를 파악한다. 도면과 가상객체의 비교를 통해 도면을 기반으로 만들어진 객체가 도면의 설계와 오차가 존재하는지 파악할 수 있다. The
도 7은 본 발명의 실시 예에 따른 가상공간의 객체 생성을 위한 시스템의 개략적인 구성의 일 예를 도시한 도면이다.7 is a diagram showing an example of a schematic configuration of a system for creating objects in a virtual space according to an embodiment of the present invention.
도 7을 참조하면, 촬영장치(700)는 깊이카메라(702)와 라이다(704)를 포함한다. 깊이카메라(702)는 실제객체(730)가 존재하는 일정 공간을 촬영하여 각 픽셀의 깊이값을 함께 제공하는 카메라이다. 깊이카메라(702) 그 자체는 이미 널리 알려진 기술이며, 종래의 다양한 종류의 깊이카메라(702)가 본 실시 예에 사용될 수 있다. 본 실시 예에서, 깊이카메라(702)는 정지영상 또는 동영상을 촬영할 수 있다. 다만, 이하에서는 설명의 편의를 위하여 깊이카메라가 동영상을 촬영하는 경우를 위주로 설명한다. 깊이카메라(702)로 촬영하여 얻은 각 픽셀의 깊이값을 포함하는 사진데이터를 영상프레임이라고 한다. 즉, 동영상은 초당 일정 개수의 영상프레임으로 구성된다.Referring to FIG. 7 , a photographing
라이다(704)는 레이저를 일정 공간에 발사하고 공간의 각 포인트(즉, 반사지점)에서 되돌아오는 신호를 측정하여 일정 공간의 복수의 포인트에 대한 거리값을 출력한다. 라이다(704)가 일정 시점에 일정 공간에 대하여 측정한 복수 개의 포인트에 대한 거리값으로 구성된 데이터를 측정프레임이라고 한다. 라이다(704)가 측정하는 복수 개의 지점, 즉, 측정프레임의 해상도는 라이다(704)에 따라 상이할 수 있다. 라이다(704) 그 자체는 이미 널리 알려진 기술이며, 종래의 다양한 라이다(704)가 본 실시 예에 사용될 수 있다. The
촬영장치(700)는 깊이카메라(702)와 라이다(704)를 동시에 구동하여 일정 공간의 실제객체(730)를 촬영하고 측정한다. 본 실시 예에서, 촬영장치(700)의 '촬영' 또는 촬영장치의 '측정'이라는 표현은 깊이카메라(702)의 촬영과 라이다(704)의 측정이 동시에 이루어지는 것으로 해석될 수 있다. 깊이카메라(702)가 초당 생성하는 영상프레임의 개수와 라이다(704)가 초당 생성하는 측정프레임의 개수는 실시 예에 따라 동일하거나 서로 다를 수 있다. 또한, 영상프레임의 해상도와 측정프레임의 해상도는 실시 예에 따라 동일하거나 서로 다를 수 있다. 다만 깊이카메라(702)와 라이다(704)는 동시에 구동하여 일정 공간에 대한 영상프레임과 측정프레임을 생성하므로 동일 시간축에 각각 맵핑되어 동기화될 수 있다. The photographing
가상객체생성장치(710)는 깊이카메라(702)로 촬영하여 얻은 영상프레임과 라이다(704)로 측정하여 얻은 측정프레임을 함께 이용하여 현실 세계의 객체(730)에 대한 가상공간의 객체(즉, 디지털 트윈)를 생성한다. 도 1 내지 도 6은 가상객체생성장치(710)가 도면오차파악장치(100)의 일부로 구현된 경우를 가정하여 설명하였으나, 가상객체생성장치(710)는 도면오차파악장치(100)와 별개의 장치로 구현될 수 있다. The virtual
가상객체생성장치(710)는 촬영장치(700)와 유선 또는 무선 통신망(예를 들어, WebRTC 등)을 통해 연결되어 촬영장치(700)가 생성하는 영상프레임과 측정프레임을 실시간 수신할 수 있다. 다른 실시 예로, 가상객체생성장치(710)는 촬영장치(700)가 일정시간 동안 촬영하고 측정하여 생성한 영상프레임과 측정프레임을 촬영 완료 후 저장매체(예를 들어, USB(Univesal Serial Bus)를 통해 전달받거나, 촬영 완료 후 촬영장치(700)와 유선 또는 무선 통신망(예를 들어, 근거리 통신망 등)으로 연결하여 수신할 수 있다. 가상객체생성장치(710)는 가상공간의 객체 생성 결과를 사용자가 확인할 수 있도록 사용자 단말(720)에 제공할 수 있다. The virtual
다른 실시 예로, 촬영장치(700)와 가상객체생성장치(710)는 하나의 장치로 구현될 수 있다. 예를 들어, 촬영장치(110)와 가상객체장치(710)는 AR(augumented reality) 글래스, HMD(Head Mounded Display) 또는 웨어러블 디바이스 등 증강현실 또는 가상현실을 표시하는 다양한 기기의 일부로 구현될 수 있다. 또 다른 실시 예로, 촬영장치(700)는 AR 글래스 또는 HMD, 웨어러블 디바이스의 일부로 구현되고, 촬영장치(700)는 실시간 촬영 및 측정한 영상프레임과 측정프레임을 유선 또는 무선 통신망으로 연결된 가상객체생성장치(710)로 전송하고, 촬영장치가 구현된 AR 글래스, HMD 등은 가상객체생성장치(710)로부터 가상객체를 수신하여 증강현실 또는 가상현실에 가상객체를 표시할 수 있다. 사용자는 실시간 생성되는 가상객체를 증강현실 또는 가상현실을 통해 바로 확인할 수 있다. 가상공간의 객체를 생성하는 구체적인 방법에 대해서는 도 2 이하에서 다시 살펴본다. As another embodiment, the photographing
도 8은 본 발명의 실시 예에 따른 촬영장치의 촬영방법의 일 예를 도시한 도면이다.8 is a diagram illustrating an example of a photographing method of a photographing device according to an embodiment of the present invention.
도 7 및 도 8을 참조하면, 촬영장치(700)는 하나의 객체(800)를 연속 촬영하거나 복수의 객체(800,810)를 연속 촬영할 수 있다. 또는 촬영장치(700)는 여러 공간에 위치하는 동일 종류 또는 서로 다른 종류의 객체를 연속 촬영할 수도 있다. 즉, 촬영장치(700)가 촬영하여 얻은 영상프레임과 측정프레임에는 사용자가 원하는 적어도 하나 이상의 객체(800,810)가 시간축을 기준으로 여러 시점에 존재할 수 있다. 본 실시 예는 설명의 편의를 위하여 영상프레임의 예를 도시하고 있다.Referring to FIGS. 7 and 8 , the photographing
예를 들어, 사용자가 건물 시공 단계에서 건물의 여러 곳을 돌아다니며 하수도관을 촬영한다고 가정하자. 이 경우 사용자가 촬영장치(700)로 건물의 A 공간에서 하수도관을 촬영하고 B 공간으로 이동하여 하수도관을 촬영할 수 있다. A 공간과 B 공간으로 이동할 때 촬영장치는 계속하여 촬영상태로 유지되거나 이동시 꺼진 상태일 수 있다. A 공간과 B 공간에서 촬영된 영상프레임과 측정프레임에는 하수도관이라는 동일 종류의 객체가 존재한다. For example, suppose that a user travels around various parts of a building and takes pictures of a sewer pipe during construction. In this case, the user may photograph the sewer pipe in space A of the building using the photographing
다른 예로, 각 공간에서 촬영된 영상프레임과 측정프레임에는 복수 개의 객체(800,810)가 함께 촬영될 수 있다. A 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체b가 존재하고, B 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체c가 존재할 수 있다.As another example, a plurality of
가상객체생성장치(710)는 영상프레임과 측정프레임을 객체 단위로 구분할 수 있다. 가상객체생성장치(710)는 영상프레임과 측정프레임에서 동일 객체가 존재하는 영상프레임과 측정프레임에 동일한 식별정보(또는 인덱스)를 부여할 수 있다. 예를 들어, 제1 객체(800)가 존재하는 복수의 영상프레임(820,822,824)에 모두 제1 식별정보(또는 제1 인덱스, 이하 식별정보라고 함)를 부여하고, 제2 객체(810)가 존재하는 복수의 영상프레임(830,832,834)에 제2 식별정보를 부여할 수 있다. 객체가 존재하지 않는 영상프레임(840,842)은 아무런 식별정보를 부여하지 않거나 또는 제3 식별정보를 부여할 수 있다. 본 실시 예에서 시간축에 따라 배열되는 영상프레임이 세 개의 그룹, 즉, A(850), B(860), C(870)로 구분될 수 있다. 다른 실시 예로 영상프레임과 측정프레임에 복수의 객체가 존재하면, 하나의 영상프레임과 측정프레임에 각 객체에 해당하는 식별정보가 부여될 수 있다. 즉 하나의 영상프레임과 측정프레임에 복수의 식별정보가 부여될 수 있다. The virtual
다른 실시 예로, 촬영장치(700)가 깊이카메라(702)와 라이다(704)를 동시에 구동하여 촬영하므로, 깊이카메라(702)가 생성하는 영상프레임과 라이다가 측정하는 측정프레임은 시간이 동기화될 수 있다. 따라서 가상객체생성장치(710)는 영상프레임에 대해서만 동일 객체가 존재하는지 파악하여 동일 객체가 존재하는 영상프레임의 시구간을 파악하여 그 시구간 동안의 영상프레임에 동일 식별정보를 부여하고, 또한 영상프레임에 대하여 파악된 시구간 동안 생성된 측정프레임에 대해서도 동일 객체가 존재하는 구간으로 간주하여 동일 식별정보를 부여할 수 있다. In another embodiment, since the photographing
가상객체생성장치(710)는 종래의 다양한 영상인식알고리즘을 이용하여 영상프레임에 존재하는 객체의 동일 여부를 파악할 수 있다. 예를 들어, 가상객체생성장치(710)는 영상인식알고리즘의 일 예로 인공지능모델을 이용할 수 있다. 영상 내 객체의 동일 여부를 파악하는 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다.The virtual
도 9는 본 발명의 실시 예에 따른 가상공간의 객체를 생성하는 방법의 일 예를 도시한 흐름도이다.9 is a flowchart illustrating an example of a method of generating a virtual space object according to an embodiment of the present invention.
도 9를 참조하면, 가상객체생성장치(710)는 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분한다(S900). 가상객체생성장치(710)는 동일한 객체가 촬영된 복수의 영상프레임에 대하여 배경과 객체를 구분할 수 있다. 예를 들어, 도 8과 같이 동일 객체가 존재하는 적어도 하나 이상의 영상프레임(예를 들어, 820,822,824의 A 그룹)에 대하여 각각 배경과 객체를 구분할 수 있다. 다른 실시 예로, 영상프레임에 복수의 객체가 존재하는 경우에 가상객체생성장치(710)는 배경과 복수의 객체를 각각 구분할 수 있다. 영상프레임에서 배경과 객체를 구분하는 방법의 일 예에 대해서는 도 10에서 다시 살펴본다. Referring to FIG. 9 , the virtual
가상객체생성장치(710)는 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다(S910). 가상객체생성장치(710)는 동일한 객체가 측정된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 예를 들어, 도 8과 같이 동일 식별정보가 부여된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 다른 실시 예로, 측정프레임에 복수의 객체가 존재하는 경우에 가상객체생성장치(710)는 배경과 복수의 객체를 각각 구분할 수 있다. 측정프레임에서 배경과 객체를 구분하는 방법의 예가 도 10에 도시되어 있다. The virtual
깊이카메라(702)와 라이다(704)는 도 7에 도시된 바와 같이 촬영장치(700) 내에서 일정 거리 이격되어 위치하며, 따라서 영상프레임과 측정프레임의 촬영각도는 서로 다르다. 또한 영상프레임과 측정프레임의 해상도 등도 서로 다를 수 있으므로, 영상프레임의 각 픽셀과 측정프레임의 각 포인트의 위치도 일대일(1:1, scale) 맵핑(mapping)되지 않을 수 있다. 이러한 차이를 가지는 영상프레임과 측정프레임을 맵핑시키기 위하여 본 실시 예는 격자공간을 이용한다.As shown in FIG. 7 , the
구체적으로, 가상객체생성장치(710)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 영상프레임에서 구분한 제1 객체영역의 픽셀을 깊이값에 따라 배치하고(S920), 또한 기 정의된 크기의 격자를 포함하는 제2 격자공간에 측정프레임에서 구분한 제2 객체영역의 포인트를 거리값에 따라 배치한다(S920). 영상프레임과 측정프레임이 동일 공간을 촬영하여 얻은 데이터이므로, 제1 객체영역과 제2 객체영역에 존재하는 객체는 동일 객체이다. 제1 격자공간과 제2 격자공간은 가상공간 내 동일한 크기의 격자를 가지는 공간이다. 격자공간의 일 예가 도 11에 도시되어 있다.Specifically, the virtual
가상객체생성장치(710)는 제1 격자공간의 픽셀의 깊이값을 제2 격자공간의 포인트의 거리값을 기준으로 보정한다(S930). 동일한 크기의 격자공간에 제1 객체영역의 픽셀과 제2 객체영역의 포인트가 존재하므로, 제1 격자공간과 제2 격자공간의 위치, 방향, 크기 등을 서로 일치시키면 제2 격자공간의 각 포인트와 제1 격자공간의 각 픽셀을 맵핑시킬 수 있다. 격자공간의 격자단위로 픽셀의 깊이값을 포인트의 거리값을 이용하여 보정하는 구체적인 방법에 대해 도 13에 다시 살펴본다.The
가상객체생성장치(710)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상공간의 객체(즉, 가상객체)를 생성한다(S940). 가상객체생성장치(710)는 동일 식별정보가 부여된 복수의 영상프레임에 존재하는 객체의 픽셀 깊이값을 동일 식별정보가 부여된 복수의 측정프레임에 존재하는 객체의 포인트 거리값으로 보정한 후 복수의 영상프레임의 보정된 픽셀을 이용하여 가상객체를 생성할 수 있다. 즉, 다양한 각도와 위치에서 촬영된 객체의 영상프레임의 픽셀 깊이값을 보정하여 가상객체를 생성할 수 있다. The virtual
가상객체생성장치(710)는 다양한 종류의 3차원 모델링 알고리즘을 이용하여 3차원 가상 객체를 생성할 수 있다. 예를 들어, 가상객체생성장치(710)는 깊이값을 가진 픽셀을 이용하여 표면정보를 가지는 3차원 객체를 인공지능모델로 생성할 수 있다. 다른 실시 예로, 픽셀 전체를 이용하여 3차원 모델링을 수행하는 경우 그 연산량이 많은 단점이 존재하므로, 가상객체생성장치(710)는 객체를 구성하는 픽셀 중 모서리와 꼭짓점(vertex) 등을 나타내는 포인트 클라우드를 추출하고, 포인트 클라우드를 3차원 모델링 알고리즘에 입력하여 가상 객체를 생성할 수 있다. 포인트 클라우드를 이용하여 가상객체를 생성하는 예에 대해서는 도 14에서 다시 살펴본다. 측정프레임의 각 포인트의 거리값을 기준으로 가상객체를 생성할 수도 있으나, 일반적으로 측정프레임의 해상도가 영상프레임보다 해상도보다 낮으므로, 측정프레임을 통해 가상객체를 생성할 경우 객체의 모서리 등이 뭉개져 표현될 수 있어 본 실시 예는 상대적으로 해상도가 높은 영상프레임의 픽셀의 거리값을 이용하여 가상 객체를 생성한다. The virtual
도 10은 본 발명의 실시 예에 따른 영상프레임과 측정프레임의 배경과 객체를 구분하는 방법의 일 예를 도시한 도면이다.10 is a diagram illustrating an example of a method for distinguishing a background and an object of a video frame and a measurement frame according to an embodiment of the present invention.
도 10을 참조하면, 영상프레임의 배경과 객체를 구분하는 제1 인공지능모델(1000)과, 측정프레임의 배경과 객체를 구분하는 제2 인공지능모델(1010)이 존재한다. 각 인공지능모델(1000,1010)은 미리 구축된 학습데이터를 이용하여 훈련된 모델로 CNN(Convolutional Neural Network) 등으로 구현될 수 있다. 인공지능모델의 학습 및 생성 과정 그 자체는 이미 널리 알려진 기술이므로 이에 대한 설명은 생략한다.Referring to FIG. 10 , there is a first
제1 인공지능모델(1000)은 영상프레임을 입력받으면 영상프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(1000)이 의자를 인식하도록 학습된 인공지능모델이면, 제1 인공지능모델(1000)은 영상프레임에서 의자가 존재하는 영역(즉, 영상프레임 내 의자영역의 픽셀들)을 구분할 수 있다. The first
제2 인공지능모델(1010)은 측정프레임을 입력받으면 측정프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(1000)이 의자를 인식하도록 학습된 인공지능모델이면, 제2 인공지능모델(1010)은 측정프레임에서 의자가 존재하는 영역(즉, 측정프레임 내 의자에 해당하는 포인트들)을 구분할 수 있다. The second
도 11은 본 발명의 실시 예에 따른 격자공간의 일 예를 도시한 도면이다.11 is a diagram showing an example of a lattice space according to an embodiment of the present invention.
도 11을 참조하면, 격자공간(1100)은 가상공간 내 영역을 일정 크기의 단위격자(1110)로 구분한 공간이다. 예를 들어, 격자공간(1100)은 가로, 세로 및 높이가 각각 d1,d2,d3인 단위격자(1110)로 구성되는 공간일 수 있다. 실시 예에 따라, d1,d2,d3는 모두 동일한 크기(예를 들어, 1mm)이거나 서로 다른 크기일 수 있다. Referring to FIG. 11 , the
도 12는 본 발명의 실시 예에 따른 영상프레임에서 구분한 객체를 격자공간에 표시한 일 예를 도시한 도면이다.12 is a diagram showing an example of displaying objects classified in a video frame in a grid space according to an embodiment of the present invention.
도 12를 참조하면, 가상객체생성장치(710)는 영상프레임에 구분한 객체영역의 픽셀(1210)을 그 깊이값을 이용하여 격자공간(1200)에 표시할 수 있다. 본 실시 예는 이해를 돕기 위하여 픽셀들을 개략적으로 도시하고 있다.Referring to FIG. 12 , the virtual
가상객체생성장치(710)는 영상프레임 내 객체의 픽셀을 격자공간(1200)에 맵핑하여 격자공간 내 각 픽셀의 3차원 좌표값(또는 픽셀의 벡터값 등)을 파악할 수 있다. 즉, 격자공간에서 기 정의된 지점을 기준점(0,0,0 또는 X,Y,Z)으로 객체의 각 픽셀의 3차원 좌표값을 생성할 수 있다.The virtual
이와 같은 방법으로, 가상객체생성장치(710)는 측정프레임 내 객체를 나타내는 포인트들을 격자공간에 맵핑할 수 있다. 측정프레임 내 객체의 포인트를 격자공간에 표시하면 이 또한 도 12와 비슷한 모양으로 표시될 수 있다. In this way, the virtual
도 13은 본 발명의 실시 예에 따른 객체의 픽셀의 깊이값을 보정하는 방법의 일 예를 도시한 도면이다.13 is a diagram illustrating an example of a method of correcting a depth value of a pixel of an object according to an embodiment of the present invention.
도 13을 참조하면, 영상프레임의 객체가 맵핑된 제1 격자공간의 어느 하나의 제1 격자(1300)와 측정프레임의 객체가 맵핑된 제2 격자공간에서 제1 격자(1300)와 대응되는 위치는 제2 격자(1310)를 각각 도시하고 있다. 본 실시 예에서, 영상프레임의 객체의 픽셀이 맵핑된 제1 격자공간과 측정프레임의 객체의 포인트가 맵핑된 제2 격자공간은 위치, 방향, 크기 등이 먼저 정합되어 있다고 가정한다. 또한 본 실시 예는 설명의 편의를 위하여 제1 격자(1300)와 제2 격자(1310)에 각각 하나의 픽셀(1302)과 포인트(1312)가 존재하는 예를 도시하고 있으나, 하나의 격자(1300,1310)에는 복수의 픽셀 또는 복수의 포인트가 존재할 수 있다. 또한 제1 격자(1300)와 제2 격자(1310)에 존재하는 픽셀과 포인트의 개수는 동일하거나 서로 다를 수 있다.Referring to FIG. 13, a position corresponding to one of the
가상객체생성장치(710)는 제2 격자(1310)의 포인트(1312)의 거리값을 기초로 제1 격자(1300)의 픽셀(1302)의 깊이값을 보정한다. 라이다가 측정한 포인트의 거리값이 보다 정확하므로 가상객체생성장치(710)는 포인트의 거리값을 기준으로 픽셀의 깊이값을 보정한다. 예를 들어, 제1 격자(1300)의 픽셀(1302)의 격자공간에서의 좌표값과 제2 격자(1310)의 포인트의 좌표값이 서로 상이하면, 가상객체생성장치(710)는 제1 격자(1300)의 픽셀(1302)을 제2 격자(1310)의 포인트의 좌표값에 따라 보정(1320)한다. The
영상프레임과 측정프레임의 해상도가 서로 다를 수 있으므로, 제1 격자(1300)의 픽셀과 제2 격자(1310)의 포인트가 가리키는 위치가 서로 일대일 맵핑되지 않을 수 있다. 따라서 제2 격자(1310) 내에 존재하는 복수의 포인트 또는 제2 격자(1310)의 상하좌우 등에 존재하는 주변 격자에 존재하는 복수의 포인트를 이용하여 각 포인트 사이에 존재하는 값들을 보간법(interpolation) 등을 통해 파악하여 픽셀의 좌표값에 해당하는 포인트의 좌표값에 대한 거리값을 파악할 수 있다. 그리고 보간을 통해 생성된 포인트의 거리값을 이용하여 제1 격자(1300)의 픽셀의 좌표값을 보정할 수 있다. Since the image frame and the measurement frame may have different resolutions, positions indicated by pixels of the
도 14는 본 발명의 실시 예에 따른 3차원 가상 객체를 생성하는 방법의 일 예를 도시한 도면이다.14 is a diagram illustrating an example of a method of generating a 3D virtual object according to an embodiment of the present invention.
도 14를 참조하면, 가상객체생성장치(710)는 포인트 클라우드(1410)를 3차원 모델링 알고리즘(1400)에 입력하여 표면정보를 포함하는 3차원 가상 객체(1420)를 생성할 수 있다. 포인트 클라우드는 객체의 꼭짓점과 모서리 등 객체를 정의할 수 있는 주요지점을 나타내는 지점으로 구성될 수 있다. 깊이카메라가 촬영한 영상프레임에서 포인트 클라우드를 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 포인트 클라우드를 추출하는 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 추가적인 설명은 생략한다. Referring to FIG. 14 , the virtual
가상객체생성장치(710)는 영상프레임에서 추출한 객체를 격자공간에 맵핑하고, 격자공간에 맵핑된 각 픽셀의 거리값(또는 좌표값)을 도 13과 같은 방법으로 보정한다. 그리고 보정된 각 픽셀의 거리값(또는 좌표값)에서 3차원 가상 객체의 생성에 사용할 포인트 클라우드를 추출한다. 도 12의 객체에 대한 포인트 클라우드를 추출한 예가 도 15에 도시되어 있다. 가상객체생성장치(710)는 3차원 모델링 알고리즘(1400)으로 머신러닝 등의 인공지능모델을 이용할 수 있다. 포인트 클라우드를 기반으로 3차원 객체를 생성하는 종래의 다양한 알고리즘이 본 실시 예에 적용될 수 있다. 포인트 클라우드를 이용한 3차원 객체 생성 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다. The virtual
도 15는 본 발명의 실시 예에 따른 3차원 가상 객체 생성을 위한 포인트 클라우드를 추출한 일 예를 도시한 도면이다. 도 15를 참조하면, 의자에 대한 포인트 클라우드(1510)의 추출 예가 도시되어 있다. 포인트 클라우드를 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 다른 실시 예로, 동일한 식별번호가 부여된 복수의 영상프레임, 즉 동일 객체를 촬영한 복수의 영상프레임에서 픽셀의 깊이값을 보정한 후 각각 포인트 클라우드를 추출하여 3차원 가상객체를 생성할 수 있다.15 is a diagram illustrating an example of extracting a point cloud for generating a 3D virtual object according to an embodiment of the present invention. Referring to FIG. 15 , an example of extracting a
도 16은 본 발명의 실시 예에 따른 3차원 가상 객체의 생성 예를 도시한 도면이다. 도 16을 참조하면, 가상객체생성장치는 포인트 클라우드를 이용하여 표면정보를 포함하는 가상객체(1600)를 생성할 수 있다. 16 is a diagram illustrating an example of generating a 3D virtual object according to an embodiment of the present invention. Referring to FIG. 16 , the virtual object generator may create a
도 17은 본 발명의 실시 예에 다른 가상객체생성장치의 일 예의 구성을 도시한 도면이다.17 is a diagram showing the configuration of an example of a virtual object generating device according to an embodiment of the present invention.
도 17을 참조하면, 가상객체생성장치(710)는 제1 객체추출부(1700), 제2 객체추출부(1710), 제1 격자배치부(1720), 제2 격자배치부(1730), 보정부(1740) 및 객체생성부(1750)를 포함한다. 일 실시 예로, 가상객체생성장치(710)는 메모리, 프로세서, 입출력장치 등을 포함하는 컴퓨팅 장치 또는 서버, 클라우드 시스템 등으로 구현될 수 있으며, 이 경우 각 구성은 소프트웨어 구현되어 메모리에 탑재된 후 프로세서에 의해 수행될 수 있다.Referring to FIG. 17, the virtual
제1 객체추출부(1700)는 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분한다. 제2 객체추출부(1710)는 상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다. 배경과 객체의 구분은 인공지능모델을 이용하여 수행할 수 있으며 이에 대한 예가 도 10에 도시되어 있다.The first
제1 격자배치부(1720)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치한다. 제2 격자배치부(1730)는 기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치한다. 격자공간의 예가 도 11에 도시되어 있고, 격자공간에 영상프레임으로부터 추출한 객체의 픽셀들을 맵핑한 예가 도 12에 도시되어 있다.The first
보정부(1740)는 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정한다. 격자공간의 비교를 통해 보정하는 방법의 일 예가 도 13에 도시되어 있다.The
객체생성부(1750)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성한다 . 객체생성부(1750)는 픽셀 전체를 이용하여 3차원 가상공간의 객체를 생성할 수 있다. 그러나 이 경우 연산량이 많아지므로, 객체생성부(1750)는 포인트 클라우드를 생성하여 가상객체를 생성할 수 있으며, 이에 대한 예가 도 14 내지 도 16에 도시되어 있다.The
본 발명의 각 실시 예는 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, SSD, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Each embodiment of the present invention can also be implemented as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, SSD, and optical data storage devices. In addition, the computer-readable recording medium may be distributed to computer systems connected through a network to store and execute computer-readable codes in a distributed manner.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at mainly with its preferred embodiments. Those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from a descriptive point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.
Claims (11)
상기 객체에 대한 기 정의된 도면의 3차원 모델과 상기 가상객체를 중첩시키는 단계; 및
상기 중첩 결과를 기초로 상기 도면과 상기 가상객체 사이의 오차를 파악하는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.Creating a virtual object by photographing and measuring an object in a certain space with a depth camera and lidar;
overlapping a 3D model of a predefined drawing of the object with the virtual object; and
and determining an error between the drawing and the virtual object based on the overlapping result.
상기 가상객체를 생성하는 단계는, 상기 가상객체를 나타내는 폴리곤 데이터를 상기 도면의 3차원 모델을 표시하는 소프트웨어에서 읽을 수 있는 파일포맷으로 저장하는 단계;를 포함하고,
상기 중첩시키는 단계는, 상기 소프트웨어를 통해 상기 3차원 모델과 상기 가상객체를 함께 읽어 중첩표시하는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.According to claim 1,
The generating of the virtual object may include storing the polygon data representing the virtual object in a file format readable by software displaying a 3D model of the drawing;
The overlapping step includes reading and overlapping the 3D model and the virtual object together through the software; drawing error detection method, characterized in that it comprises.
상기 3차원 모델과 상기 가상객체의 위치가 어긋하는 부위를 기 정의된 색상으로 구분하여 표시하는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.The method of claim 1, wherein determining the error comprises:
and displaying a part where the position of the 3D model and the virtual object are out of alignment with a predefined color.
깊이카메라로 촬영하여 얻은 영상프레임에서 상기 객체에 해당하는 영역의 픽셀의 깊이값을 라이다로 측정하여 얻은 측정프레임의 포인트의 거리값으로 보정한 후 보정된 픽셀의 깊이값을 기준으로 가상객체를 생성하는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.The method of claim 1, wherein the generating of the virtual object comprises:
In the image frame obtained by shooting with a depth camera, the depth value of the pixel of the area corresponding to the object is measured with lidar and corrected with the distance value of the point of the measurement frame, and then the virtual object is calculated based on the depth value of the corrected pixel. A drawing error identification method comprising the step of generating;
상기 가상객체를 생성하는 단계는, 공간에 위치하는 태그를 읽어 파악한 공간식별정보와 함께 상기 가상객체를 저장하는 단계;를 포함하고,
상기 중첩시키는 단계는, 상기 공간식별정보에 해당하는 도면의 해당 영역에 대한 3차원 모델과 상기 가상객체를 중첩시키는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.According to claim 1,
The step of creating the virtual object includes storing the virtual object together with space identification information obtained by reading a tag located in the space;
The overlapping step may include overlapping the virtual object with a 3D model for a corresponding area of the drawing corresponding to the space identification information.
상기 객체에 대한 기 정의된 도면을 토대로 만들어진 3차원 모델과 상기 가상객체를 중첩시키는 중첩부; 및
상기 중첩 결과를 기초로 상기 도면과 상기 가상객체 사이의 오차를 파악하는 오차파악부;를 포함하는 것을 특징으로 하는 도면오차파악장치.an object creation unit that creates a virtual object by photographing and measuring an object in a certain space with a depth camera and lidar;
an overlapping unit for overlapping the virtual object with a 3D model made based on a predefined drawing of the object; and
and an error detection unit configured to determine an error between the drawing and the virtual object based on the overlapping result.
상기 객체생성부는 상기 가상객체를 나타내는 폴리곤 데이터를 상기 도면의 3차원 모델을 표시하는 소프트웨어에서 읽을 수 있는 파일포맷으로 저장하고,
상기 중첩부는 상기 소프트웨어를 통해 상기 3차원 모델과 상기 가상객체를 함께 읽어 중첩표시하는 것을 특징으로 하는 도면오차파악장치.According to claim 6,
The object generator stores the polygon data representing the virtual object in a file format that can be read by software displaying a 3D model of the drawing,
The overlapping unit reads the 3D model and the virtual object together through the software and displays them overlapping.
상기 3차원 모델과 상기 가상객체의 위치가 어긋하는 부위를 기 정의된 색상으로 구분하여 표시하는 것을 특징으로 하는 도면오차파악장치.The method of claim 6, wherein the error detection unit,
The drawing error detection device, characterized in that for displaying a region where the position of the 3D model and the virtual object are out of alignment with a predefined color.
깊이카메라로 촬영하여 얻은 영상프레임에서 상기 객체에 해당하는 영역의 픽셀의 깊이값을 라이다로 측정하여 얻은 측정프레임의 포인트의 거리값으로 보정한 후 보정된 픽셀의 깊이값을 기준으로 가상객체를 생성하는 것을 특징으로 하는 도면오차파악장치.The method of claim 6, wherein the object creation unit,
In the image frame obtained by shooting with a depth camera, the depth value of the pixel of the area corresponding to the object is measured with lidar and corrected with the distance value of the point of the measurement frame, and then the virtual object is calculated based on the depth value of the corrected pixel. Drawing error detection device, characterized in that for generating.
상기 객체생성부는 공간에 위치하는 태그를 읽어 파악한 공간식별정보와 함께 상기 가상객체를 저장하고,
상기 중첩부는 상기 공간식별정보에 해당하는 도면의 해당 영역에 대한 3차원 모델과 상기 가상객체를 중첩시키는 것을 특징으로 하는 도면오차파악장치.According to claim 6,
The object creation unit stores the virtual object together with space identification information obtained by reading a tag located in the space;
The overlapping unit overlaps the virtual object with the three-dimensional model for the corresponding area of the drawing corresponding to the space identification information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163002A KR20230076242A (en) | 2021-11-24 | 2021-11-24 | Method and device for recognizing error of drawing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163002A KR20230076242A (en) | 2021-11-24 | 2021-11-24 | Method and device for recognizing error of drawing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230076242A true KR20230076242A (en) | 2023-05-31 |
Family
ID=86543588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163002A KR20230076242A (en) | 2021-11-24 | 2021-11-24 | Method and device for recognizing error of drawing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230076242A (en) |
-
2021
- 2021-11-24 KR KR1020210163002A patent/KR20230076242A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112052839B (en) | Image data processing method, apparatus, device and medium | |
JP6011102B2 (en) | Object posture estimation method | |
JP6716996B2 (en) | Image processing program, image processing apparatus, and image processing method | |
JPWO2020179065A1 (en) | Image processing equipment, image processing methods and programs | |
WO2017154705A1 (en) | Imaging device, image processing device, image processing program, data structure, and imaging system | |
JP2009080578A (en) | Multiview-data generating apparatus, method, and program | |
US20170076428A1 (en) | Information processing apparatus | |
JP2016179534A (en) | Information processor, information processing method, program | |
CN112184793B (en) | Depth data processing method and device and readable storage medium | |
CN110889426A (en) | Three-dimensional expression generation system | |
CN113281780A (en) | Method and device for labeling image data and electronic equipment | |
KR20110089299A (en) | Stereo matching process system, stereo matching process method, and recording medium | |
CN112802114A (en) | Multi-vision sensor fusion device and method and electronic equipment | |
KR102068489B1 (en) | 3d object creation apparatus | |
KR102597692B1 (en) | Method, apparatus, and computer program for measuring volume of objects by using image | |
KR101538014B1 (en) | Converting method photographic images to 3d images through 3d modeling | |
US20220230459A1 (en) | Object recognition device and object recognition method | |
KR20230076242A (en) | Method and device for recognizing error of drawing | |
KR20230076241A (en) | Method and apparatus for creating object in virtual reality | |
CN114241052A (en) | Layout diagram-based multi-object scene new visual angle image generation method and system | |
JP6719168B1 (en) | Program, apparatus and method for assigning label to depth image as teacher data | |
KR102217215B1 (en) | Server and method for 3dimension model production using scale bar | |
WO2023095937A1 (en) | Method for identifying error in drawing, and apparatus therefor | |
WO2023095936A1 (en) | Object generation method for virtual space, and device using same | |
JP6641313B2 (en) | Region extraction device and program |