KR20230076242A - Method and device for recognizing error of drawing - Google Patents

Method and device for recognizing error of drawing Download PDF

Info

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
Application number
KR1020210163002A
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 KR1020210163002A priority Critical patent/KR20230076242A/en
Publication of KR20230076242A publication Critical patent/KR20230076242A/en

Links

Images

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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination 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

A method and device for detecting the error of a drawing are disclosed. The device creates a virtual object by photographing and measuring an object of a certain space with a depth camera and lidar, overlaps the virtual object with a 3D model of a predefined drawing for the object, and identifies an error between the drawing and the virtual object based on the overlap result.

Description

도면의 오차 파악 방법 및 그 장치{Method and device for recognizing error of drawing}Method and device for recognizing error of drawing {Method and device for recognizing error of drawing}

본 발명의 실시 예는 도면과 도면을 토대로 만들어진 실제객체 사이의 오차를 파악하는 방법 및 그 장치에 관한 것이다.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 error detection device 100 compares a virtual object 110 made based on an object in the real world with a 3D model 120 of the drawing for the object to determine whether there is an error. In this embodiment, objects in the real world are all objects made according to drawings, such as buildings (eg, sewer pipes, columns, walls, etc.), various facilities, or various objects (wardrobe, sink, chair, shoes, etc.) includes However, in the following, for convenience of description, examples of objects are mainly presented, such as a building or an appendage of a building. The 3D model 120 means 3D data of a drawing designed in advance for object creation, and as an example, there is a 3D model made of CAD drawings.

건물 등은 미리 설계된 도면에 따라 시공된다. 도면에 따라 건설된 건물 등이 도면에 부합하게 시공되었는지 확인하기 위해서는 육안으로 확인하고 길이나 두께 등을 실측하는 과정을 수행하므로 많은 시간이 소요될 뿐만 아니라 정확한 실측에 어려움이 있을 수 있다. 이에 본 실시 예는 도면에 따라 시공 또는 완공된 건물이나 시설물 등의 각종 객체를 가상객체(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 virtual objects 110 according to the drawing, and then the virtual object 110 is compared with the 3D model 120 of the drawing through a process. A method for determining whether an error 130 between the object and the real world occurs is presented.

도 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 error detection apparatus 100 creates a virtual object by photographing and measuring an object through a depth camera and lidar. In order to overlap (250) the 3D model of the virtual object and the drawing, the virtual object and the drawing must be in a file format readable by the 3D software (240).

도면오차파악장치(100)가 생성하는 가상객체의 원본데이터(200)의 파일 포맷과 도면의 파일 포맷은 서로 상이할 수 있다. 이 경우에, 도면오차파악장치(100)는 가상객체의 원본데이터(200)를 3차원 소프트웨어(240)가 읽을 수 있는 제1 포맷으로 변환한 제1 포맷(예를 들어, RAWDATA 또는 "*.obj" 포맷의 파일)의 가상객체파일(220)을 생성한다. 여기서, 3차원 소프트웨어(240)는 캐드프로그램 등 3차원 데이터를 표시할 수 있는 종래의 다양한 소프트웨어일 수 있다. 다른 예로, 3차원 소프트웨어(240)는 도면오차파악장치(100)의 일부로 구현될 수 있다. The file format of the original data 200 of the virtual object generated by the drawing error detection device 100 may be different from the file format of the drawing. In this case, the drawing error detection device 100 converts the original data 200 of the virtual object into a first format readable by the 3D software 240 (eg, RAWDATA or “*. obj" format file) to create a virtual object file 220. Here, the 3D software 240 may be various conventional software capable of displaying 3D data such as a CAD program. As another example, the 3D software 240 may be implemented as a part of the drawing error detection device 100 .

다른 실시 예로, 도면오차파악장치(100)는 가상객체의 원본데이터(200)를 제1 포맷 외에 제2 포맷 등 복수의 서로 다른 포맷으로 변환할 수 있다. 즉, 도면오차파악장치(100)는 복수의 데이터 포맷 변환 알고리즘을 포함하고, 가상객체의 원본데이터(200)를 도면파일(230)의 포맷과 동일한 포맷이 되도록 포맷 변환 알고리즘을 적용하여 변환할 수 있다. 데이터의 포맷 변환 과정 그 자체는 이미 널리 알려진 기술이다. 도면오차파악장치는 본 실시 예에 종래의 다양한 데이터 포맷 변환 알고리즘을 적용할 수 있다. 만약, 도면오차파악장치(100)가 생성하는 가상객체의 원본데이터(200)의 포맷이 도면 파일(230)의 포맷과 동일하다면 본 실시 예와 같은 데이터 포맷 변환과정은 생략될 수 있다. As another embodiment, the drawing error detection apparatus 100 may convert the original data 200 of a virtual object into a plurality of different formats such as a second format in addition to the first format. That is, the drawing error detection device 100 includes a plurality of data format conversion algorithms, and converts the original data 200 of the virtual object to the same format as the drawing file 230 by applying the format conversion algorithm. there is. The data format conversion process itself is a well-known technology. The drawing error detection device may apply various conventional data format conversion algorithms to this embodiment. If the format of the original data 200 of the virtual object generated by the drawing error detection device 100 is the same as the format of the drawing file 230, the data format conversion process as in the present embodiment may be omitted.

도 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 error detection device 100 overlaps (320) a 3D model 300 made based on the drawing and a virtual object 310 created by photographing a real object with a depth camera and lidar. Check for errors. A detailed method of generating a virtual object using a depth camera and LIDAR will be reviewed again with reference to FIGS. 7 to 16 .

예를 들어, 실제 공간에 존재하는 적어도 하나 이상의 객체는 미리 설계된 도면에 따라 만들어진다. 예를 들어, 건물의 상하수도관이나 벽면 구조 등은 건축 도면에 따라 만들어진다. 도면오차파악장치는 촬영장치를 이용하여 도면을 기반으로 만들어진 객체를 촬영하여 가상객체(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 virtual object 310 by photographing an object made based on a drawing using a photographing device. The drawing error detection device 100 overlaps 320 the object 302 and the virtual object 310 existing in the 3D model 300 of the drawing to determine the portion 330 where the error exists, and the error portion ( 330) can be distinguished and displayed in a way that users can identify, such as colors or symbols.

도면오차파악장치(100)가 생성하는 가상객체(310)의 제1 좌표계와 도면의 3차원 모델(300)의 제2 좌표계가 동일하면, 가상객체(310)와 3차원 모델(300)을 제1 좌표계(또는 제2 좌표계)에 그대로 표시하면 된다. 그러나 제1 좌표계와 제2 좌표계가 상이하면(예를 들어, 원점이나 각 축의 값 범위 등), 가상객체(310)와 3차원 모델(300)을 그대로 중첩하기는 힘들다.If the first coordinate system of the virtual object 310 generated by the drawing error detection device 100 and the second coordinate system of the 3D model 300 of the drawing are the same, the virtual object 310 and the 3D model 300 are What is necessary is just to display it as it is in the 1st coordinate system (or the 2nd coordinate system). However, if the first coordinate system and the second coordinate system are different (eg, the origin or the value range of each axis), it is difficult to overlap the virtual object 310 and the 3D model 300 as they are.

이 경우에, 도면오차파악장치(100)는 특징점(feaure point)(예를 들어, 모서리나 꼭짓점 등)을 기반으로 가상객체(310)를 3차원 모델에 대응하는 객체에 맞도록 크기, 방향 등을 변형하여 중첩할 수 있다. 이미지에서 특징점을 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 다른 실시 예로, 건물 등의 3차원 모델(300)에는 복수의 객체가 존재하므로 가상객체(310)를 3차원 모델(300)에 존재하는 복수의 객체 중 어느 것과 중첩시켜야 하는지 파악하기 어려울 수 있으므로, 도면오차파악장치(100)는 동일 객체를 인식하도록 훈련된 인공지능모델을 사용할 수 있다. 예를 들어, 도면오차파악장치(100)는 파이프 객체를 식별하도록 훈련된 인공지능모델을 이용하여, 3차원 모델(300)에서 파이프 객체(302)를 식별하고, 식별된 3차원 모델(300)의 파이프 객체(302)와 가상객체(310)를 필요에 따라 크기나 방향 등을 변형하여 중첩할 수 있다. 가상객체의 종류에 따라 각 객체의 인식을 위한 다양한 인공지능모델이 존재할 수 있다. 객체 식별을 위한 인공지능모델의 학습 및 생성은 이미 널리 알려진 기술이므로 이에 대한 추가적인 설명은 생략한다. In this case, the drawing error detection device 100 adjusts the size, direction, etc. of the virtual object 310 to the object corresponding to the 3D model based on feature points (eg, corners, vertices, etc.). Can be nested by transforming. Various conventional methods of extracting feature points from an image may be applied to this embodiment. In another embodiment, since a plurality of objects exist in the 3D model 300, such as a building, it may be difficult to determine which of the plurality of objects the virtual object 310 should overlap with. The drawing error detection device 100 may use an artificial intelligence model trained to recognize the same object. For example, the drawing error detection device 100 identifies the pipe object 302 in the 3D model 300 using an artificial intelligence model trained to identify the pipe object, and the identified 3D model 300 The pipe object 302 and the virtual object 310 may be overlapped by transforming the size or direction as needed. Depending on the type of virtual object, various artificial intelligence models for recognizing each object may exist. Since learning and generation of artificial intelligence models for object identification are already widely known technologies, additional explanations thereof will be omitted.

도 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 error detection apparatus 100 creates a virtual object by photographing and measuring a real object in a real space through a depth camera and LIDAR (S400). For example, when a virtual object is created using only a depth camera, there is a problem that the virtual object is distorted due to lens distortion, etc. After correcting the depth value of the pixel of the area corresponding to the distance value of the point of the measurement frame obtained by measuring with LIDAR, a virtual object is created based on the corrected pixel depth value. Creation of virtual objects will be reviewed again below in FIG. 7 .

도면오차파악장치(100)는 가상객체와 도면의 3차원 모델을 중첩하여(S410), 도면과 가상객체 사이의 오차를 파악한다(S420). 가상객체는 도면을 기반으로 실제 공간에 만들어진 객체를 촬영하여 생성한 것이므로, 가상객체와 도면의 3차원 모델을 비교하여 실제객체가 도면과 일치하는지 파악할 수 있다. 도면과의 오차를 정확하게 파악하기 위해서는 가상객체와 실제객체와 오차없이 생성되는 것이 중요하며, 이를 위해 본 실시 예는 앞서 설명한 것과 같이 깊이카메라와 함께 라이다를 이용하여 가상객체를 생성한다. The drawing error detection apparatus 100 overlaps the virtual object and the 3D model of the drawing (S410) to determine the error between the drawing and the virtual object (S420). Since the virtual object is created by photographing an object made in real space based on the drawing, it is possible to determine whether the real object matches the drawing by comparing the virtual object with the 3D model of the drawing. In order to accurately determine the error with the drawing, it is important that the virtual object and the real object are created without error. To this end, the present embodiment creates a virtual object using lidar together with a depth camera as described above.

도 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 spaces 500, and objects of the same type or different types may exist in each space. For example, as shown in FIG. 3 , pipes such as gas pipes or water and sewage pipes may exist in various spaces of a building. According to an embodiment, a virtual object for one type of object may be created by capturing a real space, or a virtual object for a plurality of objects may be created by distinguishing a plurality of objects from a single photographed image. Hereinafter, for convenience of description, a case of recognizing an object of one type in a plurality of spaces will be mainly described.

일 실시 예로, 건물의 특정 공간을 촬영하여 얻은 데이터를 기반으로 생성된 가상객체가 존재하면, 사용자는 도면오차파악장치(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 error detection device 100, or can be entered. For example, if a virtual object is created by photographing the first space, the user inputs space identification information indicating that the point at which the virtual object was created is the first space to the drawing error detection device 100 or the first space in the 3D model. You can select an area of space. The drawing error detecting apparatus 100 may determine an area of error by identifying an area corresponding to the first space in the 3D model of the drawing and then overlapping and comparing the corresponding area of the 3D model with the virtual object in the first space.

다른 실시 예로, 도면오차파악장치(100)는 촬영장치로 건물 등의 복수의 공간을 촬영하여 복수의 공간에 대한 가상객체를 각각 생성할 수 있다. 이 경우에도 위 예와 같이 사용자가 각각의 가상객체가 복수의 공간 중 어느 공간에 해당하는 것인지 도면오차파악장치(100)에 직접 입력할 수 있다. 그러나 가상객체의 개수가 수십개 또는 수백개 이상이면 이를 일일이 사용자가 입력하는 것이 어려울 수 있다. 이를 해결하는 방법으로, 도면오차파악장치(100)는 촬영장치가 촬영한 데이터를 저장할 때 촬영 공간에 대한 정보를 함께 저장할 수 있다. 예를 들어, 촬영장치는 각 공간의 일측에 위치한 태그(510)(예를 들어, 바코드나 QR 코드, RFID 등)를 인식한 후 촬영할 수 있다. 태그에는 각 공간을 구분하는 식별정보가 저장되어 있다. 촬영장치는 태그(510)의 식별정보와 촬영 데이터를 저장하거나 도면오차파악장치(100)로 제공할 수 있다. 다른 실시 예로, 촬영장치는 사용자로부터 직접 입력받은 각 공간에 대한 식별정보를 각 공간의 촬영 데이터와 함께 저장하거나 도면오차파악장치(100)로 전송할 수 있다. As another embodiment, the drawing error detection device 100 may create virtual objects for each of the plurality of spaces by photographing a plurality of spaces, such as a building, with a photographing device. Even in this case, as in the above example, the user may directly input to the drawing error detection device 100 which space each virtual object corresponds to among a plurality of spaces. However, if the number of virtual objects is more than tens or hundreds, it may be difficult for the user to input them one by one. As a method of solving this problem, the drawing error detection device 100 may store information about a photographing space together when storing data photographed by a photographing device. For example, the photographing device may photograph after recognizing the tag 510 (eg, barcode, QR code, RFID, etc.) located on one side of each space. Identification information for classifying each space is stored in the tag. The photographing device may store identification information and photographing data of the tag 510 or may provide the drawing error detection device 100 . As another embodiment, the photographing device may store the identification information for each space directly input from the user together with the photographing data of each space or may transmit it to the drawing error detection device 100 .

도면오차파악장치(100)는 각 공간에 대한 가상객체(520)를 생성하고 이를 각 공간의 식별정보와 맵핑하여 저장할 수 있다. 도면오차파악장치(100)는 각 공간의 식별정보를 기초로 도면의 3차원 모델의 해당 영역을 구분하고, 각 공간의 식별정보와 맵핑되어 저장된 가상객체(520)를 3차원 모델의 해당 영역과 중첩하여 오차를 파악할 수 있다. The drawing error detection apparatus 100 may generate virtual objects 520 for each space, map them to identification information of each space, and store them. The drawing error detection device 100 classifies the corresponding area of the 3D model of the drawing based on the identification information of each space, and stores the virtual object 520 mapped with the identification information of each space to the corresponding area of the 3D model. By overlapping, errors can be identified.

도 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 error detection device 100 includes an object generator 600 , an overlapping unit 610 and an error detection unit 620 . As an example, the drawing error detection device 100 may be implemented as a computing device including a memory, a processor, an input/output device, and the like. In this case, each component of the present embodiment may be implemented as software, loaded into a memory, and then executed by a processor.

객체생성부(600)는 일정 공간의 실제객체를 깊이카메라와 라이다로 함께 촬영하고 측정하여 가상객체를 생성한다. 가상객체의 생성방법이 도 7 이하에 도시되어 있다.The object generator 600 creates a virtual object by photographing and measuring a real object in a certain space with a depth camera and lidar. A method of creating a virtual object is shown below in FIG. 7 .

중첩부(610)는 객체에 대한 기 정의된 도면을 토대로 만들어진 3차원 모델과 가상객체를 중첩시킨다. 중첩의 일 예가 도 3에 도시되어 있다. 또한 복수의 공간에 존재하는 복수의 가상객체를 도면의 3차원 모델의 해당 영역과 중첩시키는 방법의 예가 도 5에 도시되어 있다. The overlapping unit 610 overlaps a virtual object with a 3D model made based on a predefined drawing of the object. An example of overlap is shown in FIG. 3 . In addition, an example of a method of overlapping a plurality of virtual objects existing in a plurality of spaces with a corresponding region of the 3D model of the drawing is shown in FIG. 5 .

오차파악부(620)는 중첩 결과를 기초로 상기 도면과 가상객체 사이의 오차를 파악한다. 도면과 가상객체의 비교를 통해 도면을 기반으로 만들어진 객체가 도면의 설계와 오차가 존재하는지 파악할 수 있다. The error detection unit 620 determines an error between the drawing and the virtual object based on the overlapping result. Through comparison of the drawing and the virtual object, it is possible to determine whether the object created based on the drawing has errors with the design of the drawing.

도 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 device 700 includes a depth camera 702 and a LIDAR 704 . The depth camera 702 is a camera that captures a certain space in which the real object 730 exists and provides a depth value of each pixel together. The depth camera 702 itself is a well-known technology, and various types of conventional depth cameras 702 may be used in this embodiment. In this embodiment, the depth camera 702 may capture a still image or a video. However, hereinafter, for convenience of description, a case in which a video is captured by a depth camera will be mainly described. Photo data including a depth value of each pixel obtained by photographing with the depth camera 702 is called an image frame. That is, a video is composed of a certain number of video frames per second.

라이다(704)는 레이저를 일정 공간에 발사하고 공간의 각 포인트(즉, 반사지점)에서 되돌아오는 신호를 측정하여 일정 공간의 복수의 포인트에 대한 거리값을 출력한다. 라이다(704)가 일정 시점에 일정 공간에 대하여 측정한 복수 개의 포인트에 대한 거리값으로 구성된 데이터를 측정프레임이라고 한다. 라이다(704)가 측정하는 복수 개의 지점, 즉, 측정프레임의 해상도는 라이다(704)에 따라 상이할 수 있다. 라이다(704) 그 자체는 이미 널리 알려진 기술이며, 종래의 다양한 라이다(704)가 본 실시 예에 사용될 수 있다. The LIDAR 704 emits a laser into a certain space, measures a signal returned from each point in the space (ie, a reflection point), and outputs distance values for a plurality of points in the certain space. Data consisting of distance values for a plurality of points measured by the LIDAR 704 in a certain space at a certain point in time is called a measurement frame. The resolution of a plurality of points measured by the lidar 704, that is, the measurement frame, may be different depending on the lidar 704. LiDAR 704 itself is already widely known technology, and various conventional lidar 704 may be used in this embodiment.

촬영장치(700)는 깊이카메라(702)와 라이다(704)를 동시에 구동하여 일정 공간의 실제객체(730)를 촬영하고 측정한다. 본 실시 예에서, 촬영장치(700)의 '촬영' 또는 촬영장치의 '측정'이라는 표현은 깊이카메라(702)의 촬영과 라이다(704)의 측정이 동시에 이루어지는 것으로 해석될 수 있다. 깊이카메라(702)가 초당 생성하는 영상프레임의 개수와 라이다(704)가 초당 생성하는 측정프레임의 개수는 실시 예에 따라 동일하거나 서로 다를 수 있다. 또한, 영상프레임의 해상도와 측정프레임의 해상도는 실시 예에 따라 동일하거나 서로 다를 수 있다. 다만 깊이카메라(702)와 라이다(704)는 동시에 구동하여 일정 공간에 대한 영상프레임과 측정프레임을 생성하므로 동일 시간축에 각각 맵핑되어 동기화될 수 있다. The photographing device 700 simultaneously drives the depth camera 702 and the LIDAR 704 to photograph and measure a real object 730 in a certain space. In this embodiment, the expression 'photographing' of the photographing device 700 or 'measurement' of the photographing device may be interpreted as photographing by the depth camera 702 and measuring by the LIDAR 704 simultaneously. The number of video frames generated per second by the depth camera 702 and the number of measurement frames generated per second by the LIDAR 704 may be the same or different depending on embodiments. Also, the resolution of the video frame and the resolution of the measurement frame may be the same or different depending on the embodiment. However, since the depth camera 702 and the lidar 704 are simultaneously driven to generate an image frame and a measurement frame for a certain space, they can be synchronized by being mapped to the same time axis.

가상객체생성장치(710)는 깊이카메라(702)로 촬영하여 얻은 영상프레임과 라이다(704)로 측정하여 얻은 측정프레임을 함께 이용하여 현실 세계의 객체(730)에 대한 가상공간의 객체(즉, 디지털 트윈)를 생성한다. 도 1 내지 도 6은 가상객체생성장치(710)가 도면오차파악장치(100)의 일부로 구현된 경우를 가정하여 설명하였으나, 가상객체생성장치(710)는 도면오차파악장치(100)와 별개의 장치로 구현될 수 있다. The virtual object generating device 710 uses the image frame obtained by photographing with the depth camera 702 and the measurement frame obtained by measuring with the LIDAR 704 together to create an object in the virtual space for the object 730 in the real world (that is, , digital twin). 1 to 6 have been described on the assumption that the virtual object generator 710 is implemented as a part of the drawing error detection device 100, but the virtual object generator 710 is separate from the drawing error detection device 100. It can be implemented as a device.

가상객체생성장치(710)는 촬영장치(700)와 유선 또는 무선 통신망(예를 들어, WebRTC 등)을 통해 연결되어 촬영장치(700)가 생성하는 영상프레임과 측정프레임을 실시간 수신할 수 있다. 다른 실시 예로, 가상객체생성장치(710)는 촬영장치(700)가 일정시간 동안 촬영하고 측정하여 생성한 영상프레임과 측정프레임을 촬영 완료 후 저장매체(예를 들어, USB(Univesal Serial Bus)를 통해 전달받거나, 촬영 완료 후 촬영장치(700)와 유선 또는 무선 통신망(예를 들어, 근거리 통신망 등)으로 연결하여 수신할 수 있다. 가상객체생성장치(710)는 가상공간의 객체 생성 결과를 사용자가 확인할 수 있도록 사용자 단말(720)에 제공할 수 있다. The virtual object generating device 710 may be connected to the photographing device 700 through a wired or wireless communication network (eg, WebRTC, etc.) to receive the image frame and the measurement frame generated by the photographing device 700 in real time. As another embodiment, the virtual object generating device 710 captures the image frame and the measurement frame generated by the photographing device 700 for a certain period of time and measures them, and then stores the storage medium (for example, Universal Serial Bus (USB)). It may be received through a wired or wireless communication network (for example, a local area network, etc.) with the photographing device 700 after shooting is completed. It can be provided to the user terminal 720 so that it can be checked.

다른 실시 예로, 촬영장치(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 device 700 and the virtual object generating device 710 may be implemented as one device. For example, the photographing device 110 and the virtual object device 710 may be implemented as part of various devices that display augmented reality or virtual reality, such as AR (augumented reality) glasses, HMD (Head Mounded Display), or wearable devices. . As another embodiment, the photographing device 700 is implemented as a part of AR glasses, HMD, or a wearable device, and the photographing device 700 is a virtual object generating device that connects real-time photographing and measuring image frames and measurement frames to a wired or wireless communication network. 710, the AR glasses, HMD, etc. implemented with the photographing device may receive the virtual object from the virtual object generating device 710 and display the virtual object in augmented reality or virtual reality. The user can immediately check the virtual object created in real time through augmented reality or virtual reality. A detailed method of generating an object in a virtual space will be reviewed again below in FIG. 2 .

도 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 device 700 may continuously photograph one object 800 or continuously photograph a plurality of objects 800 and 810 . Alternatively, the photographing device 700 may continuously photograph objects of the same type or different types located in various spaces. That is, at least one object 800 or 810 desired by the user may exist at various points in time on the basis of the time axis in the image frame and the measurement frame acquired by the photographing device 700 . This embodiment shows an example of an image frame for convenience of description.

예를 들어, 사용자가 건물 시공 단계에서 건물의 여러 곳을 돌아다니며 하수도관을 촬영한다고 가정하자. 이 경우 사용자가 촬영장치(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 device 700 and move to space B to photograph the sewer pipe. When moving to space A and space B, the photographing device may continue to be maintained in a photographing state or may be turned off during movement. The same type of object, the sewage pipe, exists in the video frames and measurement frames captured in space A and space B.

다른 예로, 각 공간에서 촬영된 영상프레임과 측정프레임에는 복수 개의 객체(800,810)가 함께 촬영될 수 있다. A 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체b가 존재하고, B 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체c가 존재할 수 있다.As another example, a plurality of objects 800 and 810 may be captured together in an image frame and a measurement frame captured in each space. Object a and object b may exist in the video frame and measurement frame captured in space A, and object a and object c may exist in the video frame and measurement frame captured in space B.

가상객체생성장치(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 object generating device 710 may classify the video frame and the measurement frame in units of objects. The virtual object generating apparatus 710 may assign the same identification information (or index) to the video frame and the measurement frame in which the same object exists in the video frame and the measurement frame. For example, first identification information (or first index, hereinafter referred to as identification information) is assigned to all of the plurality of image frames 820 , 822 , and 824 in which the first object 800 exists, and the second object 810 exists. Second identification information may be assigned to a plurality of image frames 830 , 832 , and 834 to be used. No identification information may be assigned to the image frames 840 and 842 in which no object exists, or third identification information may be assigned. In this embodiment, the image frames arranged along the time axis can be divided into three groups, that is, A (850), B (860), and C (870). In another embodiment, if a plurality of objects exist in the video frame and the measurement frame, identification information corresponding to each object may be assigned to one video frame and the measurement frame. That is, a plurality of pieces of identification information may be assigned to one image frame and one measurement frame.

다른 실시 예로, 촬영장치(700)가 깊이카메라(702)와 라이다(704)를 동시에 구동하여 촬영하므로, 깊이카메라(702)가 생성하는 영상프레임과 라이다가 측정하는 측정프레임은 시간이 동기화될 수 있다. 따라서 가상객체생성장치(710)는 영상프레임에 대해서만 동일 객체가 존재하는지 파악하여 동일 객체가 존재하는 영상프레임의 시구간을 파악하여 그 시구간 동안의 영상프레임에 동일 식별정보를 부여하고, 또한 영상프레임에 대하여 파악된 시구간 동안 생성된 측정프레임에 대해서도 동일 객체가 존재하는 구간으로 간주하여 동일 식별정보를 부여할 수 있다. In another embodiment, since the photographing device 700 simultaneously drives the depth camera 702 and the lidar 704 to take pictures, the video frame generated by the depth camera 702 and the measurement frame measured by the lidar are synchronized in time. It can be. Therefore, the virtual object generating device 710 determines whether the same object exists only in the video frame, determines the time period of the video frame in which the same object exists, and assigns the same identification information to the video frame during that time period. The same identification information may be assigned by considering the measurement frame generated during the time period identified for the frame as a period in which the same object exists.

가상객체생성장치(710)는 종래의 다양한 영상인식알고리즘을 이용하여 영상프레임에 존재하는 객체의 동일 여부를 파악할 수 있다. 예를 들어, 가상객체생성장치(710)는 영상인식알고리즘의 일 예로 인공지능모델을 이용할 수 있다. 영상 내 객체의 동일 여부를 파악하는 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다.The virtual object generating device 710 may use various conventional image recognition algorithms to determine whether objects existing in image frames are the same. For example, the virtual object generating device 710 may use an artificial intelligence model as an example of an image recognition algorithm. Since the method itself for determining whether objects in an image are the same is a well-known technique, a detailed description thereof will be omitted.

도 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 object generating apparatus 710 divides a first background area and a first object area from an image frame obtained by photographing a certain space with a depth camera (S900). The virtual object generating apparatus 710 may distinguish a background and an object from a plurality of image frames in which the same object is photographed. For example, as shown in FIG. 8 , at least one or more image frames (eg, group A of 820, 822, and 824) in which the same object exists may be distinguished from a background, respectively. As another embodiment, when a plurality of objects exist in an image frame, the virtual object generating apparatus 710 may distinguish the background and the plurality of objects, respectively. An example of a method of distinguishing a background and an object in an image frame will be reviewed again in FIG. 10 .

가상객체생성장치(710)는 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다(S910). 가상객체생성장치(710)는 동일한 객체가 측정된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 예를 들어, 도 8과 같이 동일 식별정보가 부여된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 다른 실시 예로, 측정프레임에 복수의 객체가 존재하는 경우에 가상객체생성장치(710)는 배경과 복수의 객체를 각각 구분할 수 있다. 측정프레임에서 배경과 객체를 구분하는 방법의 예가 도 10에 도시되어 있다. The virtual object generating device 710 distinguishes a second background area and a second object area from a measurement frame obtained by measuring a certain space with lidar (S910). The virtual object generating device 710 may distinguish a background and an object for a plurality of measurement frames in which the same object is measured. For example, as shown in FIG. 8 , a background and an object may be distinguished for a plurality of measurement frames to which the same identification information is assigned. As another embodiment, when a plurality of objects exist in the measurement frame, the virtual object generating apparatus 710 may distinguish the background and the plurality of objects, respectively. An example of a method for distinguishing a background and an object in a measurement frame is shown in FIG. 10 .

깊이카메라(702)와 라이다(704)는 도 7에 도시된 바와 같이 촬영장치(700) 내에서 일정 거리 이격되어 위치하며, 따라서 영상프레임과 측정프레임의 촬영각도는 서로 다르다. 또한 영상프레임과 측정프레임의 해상도 등도 서로 다를 수 있으므로, 영상프레임의 각 픽셀과 측정프레임의 각 포인트의 위치도 일대일(1:1, scale) 맵핑(mapping)되지 않을 수 있다. 이러한 차이를 가지는 영상프레임과 측정프레임을 맵핑시키기 위하여 본 실시 예는 격자공간을 이용한다.As shown in FIG. 7 , the depth camera 702 and the LIDAR 704 are spaced apart from each other by a predetermined distance within the photographing device 700, and therefore, the photographing angles of the image frame and the measurement frame are different from each other. In addition, since the resolutions of the video frame and the measurement frame may be different from each other, the positions of each pixel of the video frame and each point of the measurement frame may not be mapped on a one-to-one (1:1, scale) basis. In order to map an image frame and a measurement frame having such a difference, this embodiment uses a grid space.

구체적으로, 가상객체생성장치(710)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 영상프레임에서 구분한 제1 객체영역의 픽셀을 깊이값에 따라 배치하고(S920), 또한 기 정의된 크기의 격자를 포함하는 제2 격자공간에 측정프레임에서 구분한 제2 객체영역의 포인트를 거리값에 따라 배치한다(S920). 영상프레임과 측정프레임이 동일 공간을 촬영하여 얻은 데이터이므로, 제1 객체영역과 제2 객체영역에 존재하는 객체는 동일 객체이다. 제1 격자공간과 제2 격자공간은 가상공간 내 동일한 크기의 격자를 가지는 공간이다. 격자공간의 일 예가 도 11에 도시되어 있다.Specifically, the virtual object generating apparatus 710 arranges the pixels of the first object area divided from the image frame according to the depth value in the first grid space including the grid having a predefined size (S920), and also The points of the second object area divided in the measurement frame are arranged according to the distance values in the second lattice space including the lattice of the same size (S920). Since the image frame and the measurement frame are data obtained by photographing the same space, objects existing in the first object area and the second object area are the same object. The first lattice space and the second lattice space are spaces having grids of the same size in the virtual space. An example of a grid space is shown in FIG. 11 .

가상객체생성장치(710)는 제1 격자공간의 픽셀의 깊이값을 제2 격자공간의 포인트의 거리값을 기준으로 보정한다(S930). 동일한 크기의 격자공간에 제1 객체영역의 픽셀과 제2 객체영역의 포인트가 존재하므로, 제1 격자공간과 제2 격자공간의 위치, 방향, 크기 등을 서로 일치시키면 제2 격자공간의 각 포인트와 제1 격자공간의 각 픽셀을 맵핑시킬 수 있다. 격자공간의 격자단위로 픽셀의 깊이값을 포인트의 거리값을 이용하여 보정하는 구체적인 방법에 대해 도 13에 다시 살펴본다.The virtual object generator 710 corrects the depth value of the pixel in the first grid space based on the distance value of the point in the second grid space (S930). Since the pixels of the first object area and the points of the second object area exist in the grid space of the same size, if the position, direction, size, etc. of the first grid space and the second grid space match each other, each point of the second grid space and each pixel of the first lattice space may be mapped. A specific method of correcting a depth value of a pixel in a grid unit of a grid space using a distance value of a point will be reviewed again with reference to FIG. 13 .

가상객체생성장치(710)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상공간의 객체(즉, 가상객체)를 생성한다(S940). 가상객체생성장치(710)는 동일 식별정보가 부여된 복수의 영상프레임에 존재하는 객체의 픽셀 깊이값을 동일 식별정보가 부여된 복수의 측정프레임에 존재하는 객체의 포인트 거리값으로 보정한 후 복수의 영상프레임의 보정된 픽셀을 이용하여 가상객체를 생성할 수 있다. 즉, 다양한 각도와 위치에서 촬영된 객체의 영상프레임의 픽셀 깊이값을 보정하여 가상객체를 생성할 수 있다. The virtual object generating device 710 creates an object (ie, a virtual object) in a virtual space having surface information based on the pixel whose depth value is corrected (S940). The virtual object generating device 710 corrects the pixel depth value of an object existing in a plurality of image frames to which the same identification information is assigned to the point distance value of an object existing in a plurality of measurement frames to which the same identification information is assigned, and then generates a plurality of A virtual object can be created using the corrected pixels of the image frame of . That is, a virtual object may be created by correcting a pixel depth value of an image frame of an object photographed at various angles and positions.

가상객체생성장치(710)는 다양한 종류의 3차원 모델링 알고리즘을 이용하여 3차원 가상 객체를 생성할 수 있다. 예를 들어, 가상객체생성장치(710)는 깊이값을 가진 픽셀을 이용하여 표면정보를 가지는 3차원 객체를 인공지능모델로 생성할 수 있다. 다른 실시 예로, 픽셀 전체를 이용하여 3차원 모델링을 수행하는 경우 그 연산량이 많은 단점이 존재하므로, 가상객체생성장치(710)는 객체를 구성하는 픽셀 중 모서리와 꼭짓점(vertex) 등을 나타내는 포인트 클라우드를 추출하고, 포인트 클라우드를 3차원 모델링 알고리즘에 입력하여 가상 객체를 생성할 수 있다. 포인트 클라우드를 이용하여 가상객체를 생성하는 예에 대해서는 도 14에서 다시 살펴본다. 측정프레임의 각 포인트의 거리값을 기준으로 가상객체를 생성할 수도 있으나, 일반적으로 측정프레임의 해상도가 영상프레임보다 해상도보다 낮으므로, 측정프레임을 통해 가상객체를 생성할 경우 객체의 모서리 등이 뭉개져 표현될 수 있어 본 실시 예는 상대적으로 해상도가 높은 영상프레임의 픽셀의 거리값을 이용하여 가상 객체를 생성한다. The virtual object generating device 710 may generate a 3D virtual object using various types of 3D modeling algorithms. For example, the virtual object generating apparatus 710 may generate a 3D object having surface information as an artificial intelligence model using a pixel having a depth value. As another embodiment, when 3D modeling is performed using all pixels, there is a disadvantage in that the amount of computation is large, so the virtual object generator 710 is a point cloud representing corners and vertices among pixels constituting an object. A virtual object can be created by extracting and inputting the point cloud to a 3D modeling algorithm. An example of generating a virtual object using a point cloud will be reviewed again in FIG. 14 . A virtual object can be created based on the distance value of each point of the measurement frame, but generally the resolution of the measurement frame is lower than the resolution of the video frame. In this embodiment, a virtual object is created using a distance value of a pixel of an image frame having a relatively high resolution.

도 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 artificial intelligence model 1000 that distinguishes the background of an image frame from an object, and a second artificial intelligence model 1010 that distinguishes a background from an object of a measurement frame. Each of the artificial intelligence models 1000 and 1010 is a trained model using pre-constructed learning data and may be implemented as a Convolutional Neural Network (CNN) or the like. Since the process of learning and generating an artificial intelligence model itself is already a well-known technology, a description thereof will be omitted.

제1 인공지능모델(1000)은 영상프레임을 입력받으면 영상프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(1000)이 의자를 인식하도록 학습된 인공지능모델이면, 제1 인공지능모델(1000)은 영상프레임에서 의자가 존재하는 영역(즉, 영상프레임 내 의자영역의 픽셀들)을 구분할 수 있다. The first artificial intelligence model 1000 is a model generated through machine learning to distinguish a background and an object in an image frame when an image frame is input. For example, if the first artificial intelligence model 1000 is an artificial intelligence model learned to recognize a chair, the first artificial intelligence model 1000 is a region in which a chair exists in an image frame (ie, a region of a chair in an image frame). pixels) can be distinguished.

제2 인공지능모델(1010)은 측정프레임을 입력받으면 측정프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(1000)이 의자를 인식하도록 학습된 인공지능모델이면, 제2 인공지능모델(1010)은 측정프레임에서 의자가 존재하는 영역(즉, 측정프레임 내 의자에 해당하는 포인트들)을 구분할 수 있다. The second artificial intelligence model 1010 is a model generated through machine learning to distinguish a background and an object in a measurement frame when a measurement frame is input. For example, if the first artificial intelligence model 1000 is an artificial intelligence model learned to recognize a chair, the second artificial intelligence model 1010 corresponds to a region where a chair exists in the measurement frame (ie, corresponds to a chair within the measurement frame). points) can be distinguished.

도 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 grid space 1100 is a space in which a region in the virtual space is divided into unit grids 1110 of a certain size. For example, the lattice space 1100 may be a space composed of unit lattices 1110 having horizontal, vertical, and height d1, d2, and d3, respectively. Depending on the embodiment, d1, d2, and d3 may all have the same size (eg, 1 mm) or different sizes.

도 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 object generating apparatus 710 may display pixels 1210 of an object area divided in an image frame in a grid space 1200 using the depth values. In this embodiment, pixels are schematically illustrated for ease of understanding.

가상객체생성장치(710)는 영상프레임 내 객체의 픽셀을 격자공간(1200)에 맵핑하여 격자공간 내 각 픽셀의 3차원 좌표값(또는 픽셀의 벡터값 등)을 파악할 수 있다. 즉, 격자공간에서 기 정의된 지점을 기준점(0,0,0 또는 X,Y,Z)으로 객체의 각 픽셀의 3차원 좌표값을 생성할 수 있다.The virtual object generating apparatus 710 may determine the 3D coordinate value (or vector value of the pixel, etc.) of each pixel in the grid space by mapping the pixels of the object in the image frame to the grid space 1200 . That is, a 3D coordinate value of each pixel of the object may be generated using a predefined point in the lattice space as a reference point (0,0,0 or X,Y,Z).

이와 같은 방법으로, 가상객체생성장치(710)는 측정프레임 내 객체를 나타내는 포인트들을 격자공간에 맵핑할 수 있다. 측정프레임 내 객체의 포인트를 격자공간에 표시하면 이 또한 도 12와 비슷한 모양으로 표시될 수 있다. In this way, the virtual object generating apparatus 710 may map points representing objects in the measurement frame to the grid space. If the point of the object in the measurement frame is displayed in the grid space, it can also be displayed in a shape similar to that of FIG. 12.

도 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 first grids 1300 in the first grid space to which the objects of the image frame are mapped and the first grid 1300 in the second grid space to which the objects of the measurement frame are mapped denotes the second grating 1310, respectively. In this embodiment, it is assumed that the first lattice space in which the pixels of the object in the image frame are mapped and the second lattice space in which the points of the object in the measurement frame are mapped are first matched in position, direction, size, etc. In addition, this embodiment shows an example in which one pixel 1302 and one point 1312 are present in the first grid 1300 and the second grid 1310, respectively, for convenience of description, but one grid 1300 , 1310) may have a plurality of pixels or a plurality of points. Also, the number of pixels and points present in the first grid 1300 and the second grid 1310 may be the same or different.

가상객체생성장치(710)는 제2 격자(1310)의 포인트(1312)의 거리값을 기초로 제1 격자(1300)의 픽셀(1302)의 깊이값을 보정한다. 라이다가 측정한 포인트의 거리값이 보다 정확하므로 가상객체생성장치(710)는 포인트의 거리값을 기준으로 픽셀의 깊이값을 보정한다. 예를 들어, 제1 격자(1300)의 픽셀(1302)의 격자공간에서의 좌표값과 제2 격자(1310)의 포인트의 좌표값이 서로 상이하면, 가상객체생성장치(710)는 제1 격자(1300)의 픽셀(1302)을 제2 격자(1310)의 포인트의 좌표값에 따라 보정(1320)한다. The virtual object generator 710 corrects the depth value of the pixel 1302 of the first grid 1300 based on the distance value of the point 1312 of the second grid 1310. Since the distance value of the point measured by lidar is more accurate, the virtual object generator 710 corrects the depth value of the pixel based on the distance value of the point. For example, if the coordinate values of the pixels 1302 of the first grid 1300 in the grid space and the coordinate values of the points of the second grid 1310 are different from each other, the virtual object generator 710 operates the first grid The pixel 1302 of (1300) is corrected (1320) according to the coordinate values of the points of the second grid 1310.

영상프레임과 측정프레임의 해상도가 서로 다를 수 있으므로, 제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 first grid 1300 and points of the second grid 1310 may not be mapped one-to-one. Therefore, by using a plurality of points that exist in the second grid 1310 or a plurality of points that exist in the surrounding grids that exist in the upper, lower, left, right, etc. of the second grid 1310, the values existing between each point are interpolated, etc. Through this, it is possible to determine the distance value of the coordinate value of the point corresponding to the coordinate value of the pixel. In addition, coordinate values of pixels of the first grid 1300 may be corrected using distance values of points generated through interpolation.

도 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 object generating apparatus 710 may generate a 3D virtual object 1420 including surface information by inputting a point cloud 1410 to a 3D modeling algorithm 1400 . A point cloud can be composed of points representing key points that can define an object, such as vertices and edges of an object. Various conventional methods of extracting a point cloud from an image frame captured by a depth camera may be applied to this embodiment. Since the method of extracting a point cloud itself is a well-known technique, an additional description thereof will be omitted.

가상객체생성장치(710)는 영상프레임에서 추출한 객체를 격자공간에 맵핑하고, 격자공간에 맵핑된 각 픽셀의 거리값(또는 좌표값)을 도 13과 같은 방법으로 보정한다. 그리고 보정된 각 픽셀의 거리값(또는 좌표값)에서 3차원 가상 객체의 생성에 사용할 포인트 클라우드를 추출한다. 도 12의 객체에 대한 포인트 클라우드를 추출한 예가 도 15에 도시되어 있다. 가상객체생성장치(710)는 3차원 모델링 알고리즘(1400)으로 머신러닝 등의 인공지능모델을 이용할 수 있다. 포인트 클라우드를 기반으로 3차원 객체를 생성하는 종래의 다양한 알고리즘이 본 실시 예에 적용될 수 있다. 포인트 클라우드를 이용한 3차원 객체 생성 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다. The virtual object generating apparatus 710 maps the object extracted from the image frame to the lattice space, and corrects the distance value (or coordinate value) of each pixel mapped to the lattice space in the same manner as shown in FIG. 13 . Then, a point cloud to be used for generating a 3D virtual object is extracted from the corrected distance value (or coordinate value) of each pixel. An example of extracting a point cloud for the object of FIG. 12 is shown in FIG. 15 . The virtual object generating device 710 may use an artificial intelligence model such as machine learning as a 3D modeling algorithm 1400 . Various conventional algorithms for generating a 3D object based on a point cloud may be applied to this embodiment. Since the method of generating a 3D object using a point cloud itself is a well-known technology, a detailed description thereof will be omitted.

도 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 point cloud 1510 for a chair is shown. Various conventional methods of extracting a point cloud may be applied to this embodiment. As another embodiment, a 3D virtual object may be generated by extracting a point cloud after correcting a depth value of a pixel in a plurality of image frames to which the same identification number is assigned, that is, a plurality of image frames in which the same object is photographed.

도 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 virtual object 1600 including surface information using a point cloud.

도 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 object generating device 710 includes a first object extraction unit 1700, a second object extraction unit 1710, a first grid arrangement unit 1720, a second grid arrangement unit 1730, A correction unit 1740 and an object creation unit 1750 are included. As an example, the virtual object generator 710 may be implemented as a computing device including a memory, processor, input/output device, etc., or as a server, cloud system, etc. In this case, each component is implemented in software and loaded into the memory, and then the processor can be performed by

제1 객체추출부(1700)는 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분한다. 제2 객체추출부(1710)는 상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다. 배경과 객체의 구분은 인공지능모델을 이용하여 수행할 수 있으며 이에 대한 예가 도 10에 도시되어 있다.The first object extraction unit 1700 distinguishes a first background area and a first object area from an image frame obtained by photographing a certain space with a depth camera. The second object extraction unit 1710 distinguishes a second background area and a second object area from a measurement frame obtained by measuring the predetermined space with LIDAR. Classification of the background and the object can be performed using an artificial intelligence model, and an example thereof is shown in FIG. 10 .

제1 격자배치부(1720)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치한다. 제2 격자배치부(1730)는 기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치한다. 격자공간의 예가 도 11에 도시되어 있고, 격자공간에 영상프레임으로부터 추출한 객체의 픽셀들을 맵핑한 예가 도 12에 도시되어 있다.The first grid arranging unit 1720 arranges pixels of the first object area according to depth values in a first grid space including a grid having a predefined size. The second grid arranging unit 1730 arranges points of the second object area according to distance values in a second grid space including a grid having a predefined size. An example of a grid space is shown in FIG. 11, and an example of mapping pixels of an object extracted from an image frame to the grid space is shown in FIG.

보정부(1740)는 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정한다. 격자공간의 비교를 통해 보정하는 방법의 일 예가 도 13에 도시되어 있다.The correction unit 1740 corrects the depth value of the pixel in the first grid space based on the distance value of the point in the second grid space. An example of a method of correcting through grid space comparison is shown in FIG. 13 .

객체생성부(1750)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성한다 . 객체생성부(1750)는 픽셀 전체를 이용하여 3차원 가상공간의 객체를 생성할 수 있다. 그러나 이 경우 연산량이 많아지므로, 객체생성부(1750)는 포인트 클라우드를 생성하여 가상객체를 생성할 수 있으며, 이에 대한 예가 도 14 내지 도 16에 도시되어 있다.The object generator 1750 creates a virtual object having surface information based on pixels whose depth values are corrected. The object generator 1750 may create an object in a 3D virtual space using all pixels. However, in this case, since the amount of computation increases, the object generator 1750 may create a virtual object by creating a point cloud, examples of which are shown in FIGS. 14 to 16 .

본 발명의 각 실시 예는 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 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.
제 1항에 있어서,
상기 가상객체를 생성하는 단계는, 상기 가상객체를 나타내는 폴리곤 데이터를 상기 도면의 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.
제 1항에 있어서, 상기 오차를 파악하는 단계는,
상기 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.
제 1항에 있어서, 상기 가상객체를 생성하는 단계는,
깊이카메라로 촬영하여 얻은 영상프레임에서 상기 객체에 해당하는 영역의 픽셀의 깊이값을 라이다로 측정하여 얻은 측정프레임의 포인트의 거리값으로 보정한 후 보정된 픽셀의 깊이값을 기준으로 가상객체를 생성하는 단계;를 포함하는 것을 특징으로 하는 도면 오차 파악방법.
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;
제 1항에 있어서,
상기 가상객체를 생성하는 단계는, 공간에 위치하는 태그를 읽어 파악한 공간식별정보와 함께 상기 가상객체를 저장하는 단계;를 포함하고,
상기 중첩시키는 단계는, 상기 공간식별정보에 해당하는 도면의 해당 영역에 대한 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.
제 6항에 있어서,
상기 객체생성부는 상기 가상객체를 나타내는 폴리곤 데이터를 상기 도면의 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.
제 6항에 있어서, 상기 오차파악부는,
상기 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.
제 6항에 있어서, 상기 객체생성부는,
깊이카메라로 촬영하여 얻은 영상프레임에서 상기 객체에 해당하는 영역의 픽셀의 깊이값을 라이다로 측정하여 얻은 측정프레임의 포인트의 거리값으로 보정한 후 보정된 픽셀의 깊이값을 기준으로 가상객체를 생성하는 것을 특징으로 하는 도면오차파악장치.
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.
제 6항에 있어서,
상기 객체생성부는 공간에 위치하는 태그를 읽어 파악한 공간식별정보와 함께 상기 가상객체를 저장하고,
상기 중첩부는 상기 공간식별정보에 해당하는 도면의 해당 영역에 대한 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.
제 1항 내지 제 5항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a computer program for performing the method according to any one of claims 1 to 5.
KR1020210163002A 2021-11-24 2021-11-24 Method and device for recognizing error of drawing KR20230076242A (en)

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)

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