KR20230076241A - Method and apparatus for creating object in virtual reality - Google Patents

Method and apparatus for creating object in virtual reality Download PDF

Info

Publication number
KR20230076241A
KR20230076241A KR1020210163001A KR20210163001A KR20230076241A KR 20230076241 A KR20230076241 A KR 20230076241A KR 1020210163001 A KR1020210163001 A KR 1020210163001A KR 20210163001 A KR20210163001 A KR 20210163001A KR 20230076241 A KR20230076241 A KR 20230076241A
Authority
KR
South Korea
Prior art keywords
space
grid
virtual
area
generating
Prior art date
Application number
KR1020210163001A
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 KR1020210163001A priority Critical patent/KR20230076241A/en
Publication of KR20230076241A publication Critical patent/KR20230076241A/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
    • 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/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Architecture (AREA)
  • Image Processing (AREA)

Abstract

Disclosed are a method for creating an object in a virtual space and a device thereof. According to the present invention, a device for creating a virtual object performs the operations of: distinguishing a first background area and a first object area in an image frame obtained by shooting a certain space with a depth camera; distinguishing a second background area and a second object area in a measurement frame obtained by measuring the certain space with LIDAR; arranging a pixel of the first object area according to depth values in a first grid space including a grid of a predefined size; arranging a point of the second object area according to distance values in a second grid space including a grid of a predefined size; correcting the depth value of the pixel in the first grid space based on the distance value of the point in the second grid space; and creating a virtual object with surface information based on the pixel whose depth values are corrected. Accordingly, the object in a virtual space can be created with little error from an object in the real world.

Description

가상공간의 객체생성 방법 및 그 장치{Method and apparatus for creating object in virtual reality}Method and apparatus for creating object in virtual space {Method and apparatus for creating object in virtual reality}

본 발명의 실시 예는 현실 세계의 객체에 대한 가상 세계의 객체를 생성하는 방법 및 그 장치에 관한 것이다.An embodiment of the present invention relates to a method and apparatus for generating a virtual world object with respect to a real world object.

현실 세계의 기계나 장비, 사물 등의 객체를 컴퓨터 속 가상세계에 구현하는 디지털 트윈(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.

본 발명의 실시 예가 이루고자 하는 기술적 과제는, 현실 세계의 객체와 가상 세계의 객체 사이에 오차가 최소가 되도록 깊이카메라와 라이다(LiDAR, Light Detection and Ranging)를 이용하여 가상공간의 객체를 생성하는 방법 및 그 장치를 제공하는 데 있다. A technical problem to be achieved by an embodiment of the present invention is to create an object in a virtual space using a depth camera and LiDAR (Light Detection and Ranging) so that an error between an object in the real world and an object in the virtual world is minimized. It is to provide a method and an apparatus therefor.

상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 가상공간의 객체 생성 방법의 일 예는, 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분하는 단계; 상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분하는 단계; 기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치하는 단계; 기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치하는 단계; 상기 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정하는 단계; 및 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성하는 단계;를 포함한다.An example of a method for creating objects in virtual space according to an embodiment of the present invention for achieving the above technical problem is to distinguish a first background area and a first object area from an image frame obtained by photographing a certain space with a depth camera. doing; Separating a second background area and a second object area in a measurement frame obtained by measuring the predetermined space with LIDAR; arranging pixels of the first object area according to depth values in a first grid space including a grid having a predefined size; arranging points of the second object area according to distance values in a second grid space including a grid having a predefined size; correcting a depth value of a pixel in the first grid space based on a distance value of a point in the second grid space; and generating a virtual object having surface information based on a pixel whose depth value is corrected.

상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 가상객체생성장치의 일 예는, 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분하는 제1 객체추출부; 상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분하는 제2 객체추출부; 기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치하는 제1격자배치부; 기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치하는 제2격자배치부; 상기 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정하는 보정부; 및 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성하는 객체생성부;를 포함한다.An example of a virtual object generating device according to an embodiment of the present invention for achieving the above technical problem is a first background area and a first object area in an image frame obtained by photographing a certain space with a depth camera. 1 object extraction unit; a second object extraction unit dividing a second background area and a second object area in a measurement frame obtained by measuring the predetermined space with LIDAR; a first grid arranging unit for arranging pixels of the first object area according to depth values in a first grid space including a grid having a predefined size; a second grid arranging unit for arranging points of the second object area according to distance values in a second grid space including a grid having a predefined size; a correction unit for correcting a depth value of a pixel in the first grid space based on a distance value of a point in the second grid space; and an object generator for generating a virtual object having surface information based on pixels whose depth values are corrected.

본 발명의 실시 예에 따르면, 깊이카메라의 렌즈 왜곡을 라이다를 통해 보정하여 현실 세계의 객체와 오차가 거의 없는 가상공간의 객체를 생성할 수 있다. According to an embodiment of the present invention, an object in a virtual space having little error with an object in the real world may be created by correcting lens distortion of a depth camera through LIDAR.

도 1은 본 발명의 실시 예에 따른 가상공간의 객체 생성을 위한 시스템의 개략적인 구성의 일 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 촬영장치의 촬영방법의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 가상공간의 객체를 생성하는 방법의 일 예를 도시한 흐름도,
도 4는 본 발명의 실시 예에 따른 영상프레임과 측정프레임의 배경과 객체를 구분하는 방법의 일 예를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 격자공간의 일 예를 도시한 도면,
도 6은 본 발명의 실시 예에 따른 영상프레임에서 구분한 객체를 격자공간에 표시한 일 예를 도시한 도면,
도 7은 본 발명의 실시 예에 따른 객체의 픽셀의 깊이값을 보정하는 방법의 일 예를 도시한 도면,
도 8은 본 발명의 실시 예에 따른 3차원 가상 객체를 생성하는 방법의 일 예를 도시한 도면,
도 9는 본 발명의 실시 예에 따른 3차원 가상 객체 생성을 위한 포인트 클라우드를 추출한 일 예를 도시한 도면,
도 10은 본 발명의 실시 예에 따른 3차원 가상 객체의 생성 예를 도시한 도면,
도 11은 본 발명의 실시 예에 다른 가상객체생성장치의 일 예의 구성을 도시한 도면이다.
1 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;
2 is a view showing an example of a photographing method of a photographing device according to an embodiment of the present invention;
3 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;
4 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;
5 is a diagram showing an example of a lattice space according to an embodiment of the present invention;
6 is a view showing an example of displaying objects classified in a video frame in a grid space according to an embodiment of the present invention;
7 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;
8 is a diagram showing an example of a method for generating a 3D virtual object according to an embodiment of the present invention;
9 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;
10 is a diagram showing an example of generating a 3D virtual object according to an embodiment of the present invention;
11 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 method and apparatus for creating an object in a virtual space according to an embodiment of the present invention will be described in detail.

도 1은 본 발명의 실시 예에 따른 가상공간의 객체 생성을 위한 시스템의 개략적인 구성의 일 예를 도시한 도면이다.1 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.

도 1을 참조하면, 촬영장치(100)는 깊이카메라(102)와 라이다(104)를 포함한다. 깊이카메라(102)는 객체(130)가 존재하는 일정 공간을 촬영하여 각 픽셀의 깊이값을 함께 제공하는 카메라이다. 본 실시 예에서 객체(130)라고 함은 가상공간에 생성하고자 하는 대상체를 의미한다. 예를 들어, 객체(130)는 건물의 각종 구조물(예를 들어, 하수도관, 기둥, 벽면 등)이나 각종 물건(옷장, 씽크대, 의자, 신발 등) 또는 동식물 등 다양할 수 있으며 특정한 종류로 한정되는 것은 아니다. 깊이카메라(102) 그 자체는 이미 널리 알려진 기술이며, 종래의 다양한 종류의 깊이카메라(102)가 본 실시 예에 사용될 수 있다. 본 실시 예에서, 깊이카메라(102)는 정지영상 또는 동영상을 촬영할 수 있다. 다만, 이하에서는 설명의 편의를 위하여 깊이카메라가 동영상을 촬영하는 경우를 위주로 설명한다. 깊이카메라(102)로 촬영하여 얻은 각 픽셀의 깊이값을 포함하는 사진데이터를 이하에서는 영상프레임이라고 한다. 즉, 동영상은 초당 일정 개수의 영상프레임으로 구성된다.Referring to FIG. 1 , a photographing apparatus 100 includes a depth camera 102 and a LIDAR 104 . The depth camera 102 is a camera that captures a certain space in which the object 130 exists and provides a depth value of each pixel together. In this embodiment, the object 130 means an object to be created in a virtual space. For example, the object 130 may be diverse, such as various structures of a building (eg, sewer pipes, columns, walls, etc.) or various objects (closets, sinks, chairs, shoes, etc.) or animals and plants, and is limited to specific types. it is not going to be The depth camera 102 itself is a well-known technology, and various types of conventional depth cameras 102 may be used in this embodiment. In this embodiment, the depth camera 102 may capture still images or moving images. 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 102 is hereinafter referred to as an image frame. That is, a video is composed of a certain number of video frames per second.

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

촬영장치(100)는 깊이카메라(102)와 라이다(104)를 동시에 구동하여 일정 공간의 객체(130)를 촬영하고 측정한다. 이하에서, 촬영장치(100)의 '촬영' 또는 촬영장치의 '측정'이라는 표현은 깊이카메라(102)의 촬영과 라이다(104)의 측정이 동시에 이루어지는 것으로 해석될 수 있다. 깊이카메라(102)가 초당 생성하는 영상프레임의 개수와 라이다(104)가 초당 생성하는 측정프레임의 개수는 실시 예에 따라 동일하거나 서로 다를 수 있다. 또한, 영상프레임의 해상도와 측정프레임의 해상도는 실시 예에 따라 동일하거나 서로 다를 수 있다. 다만 깊이카메라(102)와 라이다(104)는 동시에 구동하여 일정 공간에 대한 영상프레임과 측정프레임을 생성하므로 동일 시간축에 각각 맵핑되어 동기화될 수 있다. The photographing apparatus 100 simultaneously drives the depth camera 102 and the LIDAR 104 to photograph and measure an object 130 in a certain space. Hereinafter, the expression 'photographing' of the photographing device 100 or 'measurement' of the photographing device may be interpreted as capturing the depth camera 102 and measuring the LIDAR 104 at the same time. The number of video frames generated per second by the depth camera 102 and the number of measurement frames generated per second by the LIDAR 104 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 102 and the lidar 104 are driven simultaneously 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.

가상객체생성장치(110)는 깊이카메라(102)로 촬영하여 얻은 영상프레임과 라이다(104)로 측정하여 얻은 측정프레임을 함께 이용하여 현실 세계의 객체(130)에 대한 가상공간의 객체(즉, 디지털 트윈)를 생성한다. 가상객체생성장치(110)는 촬영장치(100)와 유선 또는 무선 통신망(예를 들어, WebRTC 등)을 통해 연결되어 촬영장치(100)가 생성하는 영상프레임과 측정프레임을 실시간 수신할 수 있다. 다른 실시 예로, 가상객체생성장치(110)는 촬영장치(100)가 일정시간 동안 촬영하고 측정하여 생성한 영상프레임과 측정프레임을 촬영 완료 후 저장매체(예를 들어, USB(Univesal Serial Bus)를 통해 전달받거나, 촬영 완료 후 촬영장치(100)와 유선 또는 무선 통신망(예를 들어, 근거리 통신망 등)으로 연결하여 수신할 수 있다. 가상객체생성장치(110)는 가상공간의 객체 생성 결과를 사용자가 확인할 수 있도록 사용자 단말(120)에 제공할 수 있다. The virtual object generating device 110 uses a video frame obtained by photographing with the depth camera 102 and a measurement frame obtained by measuring with the LIDAR 104 together to create an object in the virtual space for the object 130 in the real world (that is, , digital twin). The virtual object generating device 110 may be connected to the photographing device 100 through a wired or wireless communication network (eg, WebRTC, etc.) to receive image frames and measurement frames generated by the photographing device 100 in real time. As another embodiment, the virtual object generating device 110 captures the image frame and measurement frame generated by the photographing device 100 for a certain period of time and measures them, and then captures the storage medium (eg, 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 100 after completion of shooting. It can be provided to the user terminal 120 so that it can be checked.

다른 실시 예로, 촬영장치(100)와 가상객체생성장치(110)는 하나의 장치로 구현될 수 있다. 예를 들어, 촬영장치(110)와 가상객체장치(110)는 AR(augumented reality) 글래스, HMD(Head Mounded Display) 또는 웨어러블 디바이스 등 증강현실 또는 가상현실을 표시하는 다양한 기기의 일부로 구현될 수 있다. 또 다른 실시 예로, 촬영장치(100)는 AR 글래스 또는 HMD, 웨어러블 디바이스의 일부로 구현되고, 촬영장치(100)는 실시간 촬영 및 측정한 영상프레임과 측정프레임을 유선 또는 무선 통신망으로 연결된 가상객체생성장치(110)로 전송하고, 촬영장치가 구현된 AR 글래스, HMD 등은 가상객체생성장치(110)로부터 가상객체를 수신하여 증강현실 또는 가상현실에 가상객체를 표시할 수 있다. 사용자는 실시간 생성되는 가상객체를 증강현실 또는 가상현실을 통해 바로 확인할 수 있다. 가상공간의 객체를 생성하는 구체적인 방법에 대해서는 도 2 이하에서 다시 살펴본다. As another embodiment, the photographing device 100 and the virtual object generating device 110 may be implemented as one device. For example, the photographing device 110 and the virtual object device 110 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 apparatus 100 is implemented as a part of AR glasses, HMD, or a wearable device, and the photographing apparatus 100 is a virtual object generating device that connects real-time photographing and measured image frames and measurement frames to a wired or wireless communication network. 110, the AR glasses, HMD, etc. implemented with the photographing device may receive the virtual object from the virtual object generating device 110 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 .

도 2는 본 발명의 실시 예에 따른 촬영장치의 촬영방법의 일 예를 도시한 도면이다.2 is a diagram illustrating an example of a photographing method of a photographing device according to an embodiment of the present invention.

도 1 및 도 2를 참조하면, 촬영장치(100)는 하나의 객체(200)를 연속 촬영하거나 복수의 객체(200,210)를 연속 촬영할 수 있다. 또는 촬영장치(100)는 여러 공간에 위치하는 동일 종류 또는 서로 다른 종류의 객체를 연속 촬영할 수도 있다. 즉, 촬영장치(100)가 촬영하여 얻은 영상프레임과 측정프레임에는 사용자가 원하는 적어도 하나 이상의 객체(200,210)가 시간축을 기준으로 여러 시점에 존재할 수 있다. 본 실시 예는 설명의 편의를 위하여 영상프레임의 예를 도시하고 있다.Referring to FIGS. 1 and 2 , the photographing apparatus 100 may continuously photograph one object 200 or continuously photograph a plurality of objects 200 and 210 . Alternatively, the photographing apparatus 100 may continuously photograph objects of the same type or different types located in various spaces. That is, at least one object 200 or 210 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 obtained by capturing the image by the photographing apparatus 100 . This embodiment shows an example of an image frame for convenience of description.

예를 들어, 사용자가 건물 시공 단계에서 건물의 여러 곳을 돌아다니며 하수도관을 촬영한다고 가정하자. 이 경우 사용자가 촬영장치(100)로 건물의 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 with the photographing device 100 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.

다른 예로, 각 공간에서 촬영된 영상프레임과 측정프레임에는 복수 개의 객체(200,210)가 함께 촬영될 수 있다. A 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체b가 존재하고, B 공간에서 촬영된 영상프레임과 측정프레임에는 객체a와 객체c가 존재할 수 있다.As another example, a plurality of objects 200 and 210 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.

가상객체생성장치(110)는 영상프레임과 측정프레임을 객체 단위로 구분할 수 있다. 가상객체생성장치(110)는 영상프레임과 측정프레임에서 동일 객체가 존재하는 영상프레임과 측정프레임에 동일한 식별정보(또는 인덱스)를 부여할 수 있다. 예를 들어, 제1 객체(200)가 존재하는 복수의 영상프레임(220,222,224)에 모두 제1 식별정보(또는 제1 인덱스, 이하 식별정보라고 함)를 부여하고, 제2 객체(210)가 존재하는 복수의 영상프레임(230,232,234)에 제2 식별정보를 부여할 수 있다. 객체가 존재하지 않는 영상프레임(240,242)은 아무런 식별정보를 부여하지 않거나 또는 제3 식별정보를 부여할 수 있다. 본 실시 예에서 시간축에 따라 배열되는 영상프레임이 세 개의 그룹, 즉, A(250), B(260), C(270))로 구분될 수 있다. 다른 실시 예로 영상프레임과 측정프레임에 복수의 객체가 존재하면, 하나의 영상프레임과 측정프레임에 각 객체에 해당하는 식별정보가 부여될 수 있다. 즉 하나의 영상프레임과 측정프레임에 복수의 식별정보가 부여될 수 있다. The virtual object generating device 110 may classify the image frame and the measurement frame in units of objects. The virtual object generating apparatus 110 may assign the same identification information (or index) to a video frame and a 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 220 , 222 , and 224 in which the first object 200 exists, and the second object 210 exists. Second identification information may be assigned to the plurality of image frames 230 , 232 , and 234 to be used. No identification information may be assigned to the image frames 240 and 242 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: A (250), B (260), and C (270). 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.

다른 실시 예로, 촬영장치(100)가 깊이카메라(102)와 라이다(104)를 동시에 구동하여 촬영하므로, 깊이카메라(102)가 생성하는 영상프레임과 라이다가 측정하는 측정프레임은 시간이 동기화될 수 있다. 따라서 가상객체생성장치(110)는 영상프레임에 대해서만 동일 객체가 존재하는지 파악하여 동일 객체가 존재하는 영상프레임의 시구간을 파악하여 그 시구간 동안의 영상프레임에 동일 식별정보를 부여하고, 또한 영상프레임에 대하여 파악된 시구간 동안 생성된 측정프레임에 대해서도 동일 객체가 존재하는 구간으로 간주하여 동일 식별정보를 부여할 수 있다. In another embodiment, since the photographing device 100 simultaneously drives the depth camera 102 and the lidar 104 to take pictures, the video frame generated by the depth camera 102 and the measurement frame measured by the lidar are synchronized in time. It can be. Therefore, the virtual object generating device 110 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.

가상객체생성장치(110)는 종래의 다양한 영상인식알고리즘을 이용하여 영상프레임에 존재하는 객체의 동일 여부를 파악할 수 있다. 예를 들어, 가상객체생성장치(110)는 영상인식알고리즘의 일 예로 인공지능모델을 이용할 수 있다. 영상 내 객체의 동일 여부를 파악하는 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다.The virtual object generating device 110 may determine whether the objects existing in the image frame are identical using various conventional image recognition algorithms. For example, the virtual object generating device 110 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.

도 3은 본 발명의 실시 예에 따른 가상공간의 객체를 생성하는 방법의 일 예를 도시한 흐름도이다.3 is a flowchart illustrating an example of a method of generating an object in a virtual space according to an embodiment of the present invention.

도 3을 참조하면, 가상객체생성장치(110)는 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분한다(S300). 가상객체생성장치(110)는 동일한 객체가 촬영된 복수의 영상프레임에 대하여 배경과 객체를 구분할 수 있다. 예를 들어, 도 2와 같이 동일 객체가 존재하는 적어도 하나 이상의 영상프레임(예를 들어, 220,222,224의 A 그룹)에 대하여 각각 배경과 객체를 구분할 수 있다. 다른 실시 예로, 영상프레임에 복수의 객체가 존재하는 경우에 가상객체생성장치는 배경과 복수의 객체를 각각 구분할 수 있다. 영상프레임에서 배경과 객체를 구분하는 방법의 일 예에 대해서는 도 4에서 다시 살펴본다. Referring to FIG. 3 , the virtual object generating apparatus 110 divides a first background area and a first object area from an image frame obtained by photographing a certain space with a depth camera (S300). The virtual object generating apparatus 110 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. 2 , at least one or more image frames (eg, group A of 220, 222, and 224) in which the same object exists may be distinguished from the background, respectively. As another embodiment, when a plurality of objects exist in an image frame, the virtual object generator 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. 4 .

가상객체생성장치(110)는 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다(S310). 가상객체생성장치(110)는 동일한 객체가 측정된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 예를 들어, 도 2와 같이 동일 식별정보가 부여된 복수의 측정프레임에 대하여 배경과 객체를 구분할 수 있다. 다른 실시 예로, 측정프레임에 복수의 객체가 존재하는 경우에 가상객체생성장치는 배경과 복수의 객체를 각각 구분할 수 있다. 측정프레임에서 배경과 객체를 구분하는 방법의 예가 도 4에 도시되어 있다. The virtual object generating device 110 distinguishes a second background area and a second object area from a measurement frame obtained by measuring a certain space with lidar (S310). The virtual object generating apparatus 110 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. 2 , 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 generator 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. 4 .

깊이카메라(102)와 라이다(104)는 도 1에 도시된 바와 같이 촬영장치(100) 내에서 일정 거리 이격되어 위치하며, 따라서 영상프레임과 측정프레임의 촬영각도는 서로 다르다. 또한 영상프레임과 측정프레임의 해상도 등도 서로 다를 수 있으므로, 영상프레임의 각 픽셀과 측정프레임의 각 포인트의 위치도 일대일(1:1, scale) 맵핑(mapping)되지 않을 수 있다. 이러한 차이를 가지는 영상프레임과 측정프레임을 맵핑시키기 위하여 본 실시 예는 격자공간을 이용한다.As shown in FIG. 1 , the depth camera 102 and the LIDAR 104 are spaced apart from each other by a predetermined distance within the photographing apparatus 100, 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.

구체적으로, 가상객체생성장치(110)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 영상프레임에서 구분한 제1 객체영역의 픽셀을 깊이값에 따라 배치하고(S320), 또한 기 정의된 크기의 격자를 포함하는 제2 격자공간에 측정프레임에서 구분한 제2 객체영역의 포인트를 거리값에 따라 배치한다(S330). 영상프레임과 측정프레임이 동일 공간을 촬영하여 얻은 데이터이므로, 제1 객체영역과 제2 객체영역에 존재하는 객체는 동일 객체이다. 제1 격자공간과 제2 격자공간은 가상공간 내 동일한 크기의 격자를 가지는 공간이다. 격자공간의 일 예가 도 5에 도시되어 있다.Specifically, the virtual object generator 110 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 of the predefined size (S320), 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 (S330). 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. 5 .

가상객체생성장치(110)는 제1 격자공간의 픽셀의 깊이값을 제2 격자공간의 포인트의 거리값을 기준으로 보정한다(S330). 동일한 크기의 격자공간에 제1 객체영역의 픽셀과 제2 객체영역의 포인트가 존재하므로, 제1 격자공간과 제2 격자공간의 위치, 방향, 크기 등을 서로 일치시키면 제2 격자공간의 각 포인트와 제1 격자공간의 각 픽셀을 맵핑시킬 수 있다. 격자공간의 격자단위로 픽셀의 깊이값을 포인트의 거리값을 이용하여 보정하는 구체적인 방법에 대해 도 7에 다시 살펴본다.The virtual object generator 110 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 (S330). 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 detailed 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 in FIG. 7 .

가상객체생성장치(110)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상공간의 객체(즉, 가상객체)를 생성한다(S340). 가상객체생성장치(110)는 동일 식별정보가 부여된 복수의 영상프레임에 존재하는 객체의 픽셀 깊이값을 동일 식별정보가 부여된 복수의 측정프레임에 존재하는 객체의 포인트 거리값으로 보정한 후 복수의 영상프레임의 보정된 픽셀을 이용하여 가상객체를 생성할 수 있다. 즉, 다양한 각도와 위치에서 촬영된 객체의 영상프레임의 픽셀 깊이값을 보정하여 가상객체를 생성할 수 있다. The virtual object generating apparatus 110 creates an object (ie, a virtual object) in a virtual space having surface information based on a pixel whose depth value is corrected (S340). The virtual object generating apparatus 110 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.

가상객체생성장치(110)는 다양한 종류의 3차원 모델링 알고리즘을 이용하여 3차원 가상 객체를 생성할 수 있다. 예를 들어, 가상객체생성장치(110)는 깊이값을 가진 픽셀을 이용하여 표면정보를 가지는 3차원 객체를 인공지능모델로 생성할 수 있다. 다른 실시 예로, 픽셀 전체를 이용하여 3차원 모델링을 수행하는 경우 그 연산량이 많은 단점이 존재하므로, 가상객체생성장치(110)는 객체를 구성하는 픽셀 중 모서리와 꼭짓점(vertex) 등을 나타내는 포인트 클라우드를 추출하고, 포인트 클라우드를 3차원 모델링 알고리즘에 입력하여 가상 객체를 생성할 수 있다. 포인트 클라우드를 이용하여 가상객체를 생성하는 예에 대해서는 도 8에서 다시 살펴본다. 측정프레임의 각 포인트의 거리값을 기준으로 가상객체를 생성할 수도 있으나, 일반적으로 측정프레임의 해상도가 영상프레임보다 해상도보다 낮으므로, 측정프레임을 통해 가상객체를 생성할 경우 객체의 모서리 등이 뭉개져 표현될 수 있어 본 실시 예는 상대적으로 해상도가 높은 영상프레임의 픽셀의 거리값을 이용하여 가상 객체를 생성한다. The virtual object generating device 110 may generate a 3D virtual object using various types of 3D modeling algorithms. For example, the virtual object generating apparatus 110 may generate a 3D object having surface information as an artificial intelligence model by using a pixel having a depth value. As another embodiment, when 3D modeling is performed using all pixels, since there is a disadvantage in that the amount of computation is large, the virtual object generating device 110 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. 8 . 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.

도 4는 본 발명의 실시 예에 따른 영상프레임과 측정프레임의 배경과 객체를 구분하는 방법의 일 예를 도시한 도면이다.4 is a diagram illustrating an example of a method of distinguishing a background and an object of a video frame and a measurement frame according to an embodiment of the present invention.

도 4를 참조하면, 영상프레임의 배경과 객체를 구분하는 제1 인공지능모델(400)과, 측정프레임의 배경과 객체를 구분하는 제2 인공지능모델(410)이 존재한다. 각 인공지능모델(400,410)은 미리 구축된 학습데이터를 이용하여 훈련된 모델로 CNN(Convolutional Neural Network) 등으로 구현될 수 있다. 인공지능모델의 학습 및 생성 과정 그 자체는 이미 널리 알려진 기술이므로 이에 대한 설명은 생략한다.Referring to FIG. 4 , there is a first artificial intelligence model 400 that distinguishes the background and object of an image frame and a second artificial intelligence model 410 that distinguishes the background and object of a measurement frame. Each of the artificial intelligence models 400 and 410 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 인공지능모델(400)은 영상프레임을 입력받으면 영상프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(400)이 의자를 인식하도록 학습된 인공지능모델이면, 제1 인공지능모델(400)은 영상프레임에서 의자가 존재하는 영역(즉, 영상프레임 내 의자영역의 픽셀들)을 구분할 수 있다. The first artificial intelligence model 400 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 400 is an artificial intelligence model learned to recognize a chair, the first artificial intelligence model 400 is an area where a chair exists in an image frame (ie, a region of a chair area in an image frame). pixels) can be distinguished.

제2 인공지능모델(410)은 측정프레임을 입력받으면 측정프레임에서 배경과 객체를 구분하도록 머신러닝을 통해 생성된 모델이다. 예를 들어, 제1 인공지능모델(400)이 의자를 인식하도록 학습된 인공지능모델이면, 제2 인공지능모델(410)은 측정프레임에서 의자가 존재하는 영역(즉, 측정프레임 내 의자에 해당하는 포인트들)을 구분할 수 있다. The second artificial intelligence model 410 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 400 is an artificial intelligence model trained to recognize a chair, the second artificial intelligence model 410 corresponds to an area where a chair exists in the measurement frame (that is, corresponds to a chair within the measurement frame). points) can be distinguished.

도 5는 본 발명의 실시 예에 따른 격자공간의 일 예를 도시한 도면이다.5 is a diagram showing an example of a lattice space according to an embodiment of the present invention.

도 5를 참조하면, 격자공간(500)은 가상공간 내 영역을 일정 크기의 단위격자(510)로 구분한 공간이다. 예를 들어, 격자공간(500)은 가로, 세로 및 높이가 각각 d1,d2,d3인 단위격자(510)로 구성되는 공간일 수 있다. 실시 예에 따라, d1,d2,d3는 모두 동일한 크기(예를 들어, 1mm)이거나 서로 다른 크기일 수 있다. Referring to FIG. 5 , the grid space 500 is a space in which an area in the virtual space is divided into unit cells 510 of a predetermined size. For example, the grid space 500 may be a space composed of unit cells 510 having width, length, and height of 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.

도 6은 본 발명의 실시 예에 따른 영상프레임에서 구분한 객체를 격자공간에 표시한 일 예를 도시한 도면이다.6 is a diagram illustrating an example of displaying objects classified in a video frame in a grid space according to an embodiment of the present invention.

도 6을 참조하면, 가상객체생성장치(110)는 영상프레임에 구분한 객체영역의 픽셀을 그 깊이값을 이용하여 격자공간(600)에 표시할 수 있다. 본 실시 예는 이해를 돕기 위하여 픽셀들을 개략적으로 도시하고 있다.Referring to FIG. 6 , the virtual object generating apparatus 110 may display pixels of an object area divided in an image frame in the grid space 600 using the depth values. In this embodiment, pixels are schematically illustrated for ease of understanding.

가상객체생성장치(110)는 영상프레임 내 객체의 픽셀을 격자공간(600)에 맵핑하여 격자공간 내 각 픽셀의 3차원 좌표값(또는 픽셀의 벡터값 등)을 파악할 수 있다. 즉, 격자공간에서 기 정의된 지점을 기준점(0,0,0 또는 X,Y,Z)으로 객체의 각 픽셀의 3차원 좌표값을 생성할 수 있다.The virtual object generating apparatus 110 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 600 . 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).

이와 같은 방법으로, 가상객체생성장치(110)는 측정프레임 내 객체를 나타내는 포인트들을 격자공간에 맵핑할 수 있다. 측정프레임 내 객체의 포인트를 격자공간에 표시하면 이 또한 도 6과 비슷한 모양으로 표시될 수 있다. In this way, the virtual object generating apparatus 110 may map points representing objects in the measurement frame to the lattice 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.

도 7은 본 발명의 실시 예에 따른 객체의 픽셀의 깊이값을 보정하는 방법의 일 예를 도시한 도면이다.7 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.

도 7을 참조하면, 영상프레임의 객체가 맵핑된 제1 격자공간의 어느 하나의 제1 격자(700)와 측정프레임의 객체가 맵핑된 제2 격자공간에서 제1 격자(700)와 대응되는 위치는 제2 격자(710)를 각각 도시하고 있다. 본 실시 예에서, 영상프레임의 객체의 픽셀이 맵핑된 제1 격자공간과 측정프레임의 객체의 포인트가 맵핑된 제2 격자공간은 위치, 방향, 크기 등이 먼저 정합되어 있다고 가정한다. 또한 본 실시 예는 설명의 편의를 위하여 제1 격자(700)와 제2 격자(710)에 각각 하나의 픽셀(702)과 포인트(712)가 존재하는 예를 도시하고 있으나, 하나의 격자(700,710)에는 복수의 픽셀 또는 복수의 포인트가 존재할 수 있다. 또한 제1 격자(700)와 제2 격자(710)에 존재하는 픽셀과 포인트의 개수는 동일하거나 서로 다를 수 있다.Referring to FIG. 7, a position corresponding to one of the first grids 700 in the first grid space to which the objects of the image frame are mapped and the first grid 700 in the second grid space to which the objects of the measurement frame are mapped denotes the second grating 710, 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 702 and one point 712 are present in the first grid 700 and the second grid 710, respectively, for convenience of description, but one grid 700 and 710 respectively. ) may have a plurality of pixels or a plurality of points. Also, the number of pixels and points present in the first grid 700 and the second grid 710 may be the same or different.

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

영상프레임과 측정프레임의 해상도가 서로 다를 수 있으므로, 제1 격자(700)의 픽셀과 제2 격자(710)의 포인트가 가리키는 위치가 서로 일대일 맵핑되지 않을 수 있다. 따라서 제2 격자(710) 내에 존재하는 복수의 포인트 또는 제2 격자(710)의 상하좌우 등에 존재하는 주변 격자에 존재하는 복수의 포인트를 이용하여 각 포인트 사이에 존재하는 값들을 보간법(interpolation) 등을 통해 파악하여 픽셀의 좌표값에 해당하는 포인트의 좌표값에 대한 거리값을 파악할 수 있다. 그리고 보간을 통해 생성된 포인트의 거리값을 이용하여 제1 격자(700)의 픽셀의 좌표값을 보정할 수 있다. Since the image frame and the measurement frame may have different resolutions, positions indicated by pixels of the first grid 700 and points of the second grid 710 may not be mapped one-to-one. Therefore, by using a plurality of points that exist in the second grid 710 or a plurality of points that exist in the surrounding grids that exist on the top, bottom, left, right, etc. of the second grid 710, 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 700 may be corrected using distance values of points generated through interpolation.

도 8은 본 발명의 실시 예에 따른 3차원 가상 객체를 생성하는 방법의 일 예를 도시한 도면이다.8 is a diagram illustrating an example of a method of generating a 3D virtual object according to an embodiment of the present invention.

도 8을 참조하면, 가상객체생성장치(110)는 포인트 클라우드(810)를 3차원 모델링 알고리즘(800)에 입력하여 표면정보를 포함하는 3차원 가상 객체(820)를 생성할 수 있다. 포인트 클라우드는 객체의 꼭짓점과 모서리 등 객체를 정의할 수 있는 주요지점을 나타내는 지점으로 구성될 수 있다. 깊이카메라가 촬영한 영상프레임에서 포인트 클라우드를 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 포인트 클라우드를 추출하는 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 추가적인 설명은 생략한다. Referring to FIG. 8 , the virtual object generating apparatus 110 may generate a 3D virtual object 820 including surface information by inputting a point cloud 810 into a 3D modeling algorithm 800 . 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.

가상객체생성장치(110)는 영상프레임에서 추출한 객체를 격자공간에 맵핑하고, 격자공간에 맵핑된 각 픽셀의 거리값(또는 좌표값)을 도 7과 같은 방법으로 보정한다. 그리고 보정된 각 픽셀의 거리값(또는 좌표값)에서 3차원 가상 객체의 생성에 사용할 포인트 클라우드를 추출한다. 도 6의 객체에 대한 포인트 클라우드를 추출한 예가 도 9에 도시되어 있다. 가상객체생성장치(110)는 3차원 모델링 알고리즘(800)으로 머신러닝 등의 인공지능모델을 이용할 수 있다. 포인트 클라우드를 기반으로 3차원 객체를 생성하는 종래의 다양한 알고리즘이 본 실시 예에 적용될 수 있다. 포인트 클라우드를 이용한 3차원 객체 생성 방법 그 자체는 이미 널리 알려진 기술이므로 이에 대한 상세한 설명은 생략한다. The virtual object generating apparatus 110 maps objects extracted from the image frame to the grid space, and corrects the distance value (or coordinate value) of each pixel mapped to the grid space in the same manner as shown in FIG. 7 . 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. 6 is shown in FIG. 9 . The virtual object generating device 110 may use an artificial intelligence model such as machine learning as a 3D modeling algorithm 800 . 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.

도 9는 본 발명의 실시 예에 따른 3차원 가상 객체 생성을 위한 포인트 클라우드를 추출한 일 예를 도시한 도면이다. 도 9를 참조하면, 의자에 대한 포인트 클라우드(910)의 추출 예가 도시되어 있다. 포인트 클라우드를 추출하는 종래의 다양한 방법이 본 실시 예에 적용될 수 있다. 다른 실시 예로, 동일한 식별번호가 부여된 복수의 영상프레임, 즉 동일 객체를 촬영한 복수의 영상프레임에서 픽셀의 깊이값을 보정한 후 각각 포인트 클라우드를 추출하여 3차원 가상객체를 생성할 수 있다.9 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. 9 , an example of extracting a point cloud 910 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.

도 10은 본 발명의 실시 예에 따른 3차원 가상 객체의 생성 예를 도시한 도면이다. 도 10을 참조하면, 가상객체생성장치는 포인트 클라우드를 이용하여 표면정보를 포함하는 가상객체(1000)를 생성할 수 있다. 10 is a diagram illustrating an example of generating a 3D virtual object according to an embodiment of the present invention. Referring to FIG. 10 , the virtual object generator may create a virtual object 1000 including surface information using a point cloud.

도 11은 본 발명의 실시 예에 다른 가상객체생성장치의 일 예의 구성을 도시한 도면이다.11 is a diagram showing the configuration of an example of a virtual object generating device according to an embodiment of the present invention.

도 11을 참조하면, 가상객체생성장치(110)는 제1 객체추출부(1100), 제2 객체추출부(1110), 제1 격자배치부(1120), 제2 격자배치부(1130), 보정부(1140) 및 객체생성부(1150)를 포함한다. 일 실시 예로, 가상객체생성장치(110)는 메모리, 프로세서, 입출력장치 등을 포함하는 컴퓨팅 장치 또는 서버, 클라우드 시스템 등으로 구현될 수 있으며, 이 경우 각 구성은 소프트웨어 구현되어 메모리에 탑재된 후 프로세서에 의해 수행될 수 있다.Referring to FIG. 11, the virtual object generating device 110 includes a first object extraction unit 1100, a second object extraction unit 1110, a first grid arrangement unit 1120, a second grid arrangement unit 1130, A correction unit 1140 and an object creation unit 1150 are included. As an example, the virtual object generator 110 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 객체추출부(1100)는 일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분한다. 제2 객체추출부(1110)는 상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분한다. 배경과 객체의 구분은 인공지능모델을 이용하여 수행할 수 있으며 이에 대한 예가 도 4에 도시되어 있다.The first object extraction unit 1100 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 1110 distinguishes a second background area and a second object area from a measurement frame obtained by measuring the predetermined space with LIDAR. The classification of the background and the object can be performed using an artificial intelligence model, and an example thereof is shown in FIG. 4 .

제1 격자배치부(1120)는 기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치한다. 제2 격자배치부(1130)는 기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치한다. 격자공간의 예가 도 5에 도시되어 있고, 격자공간에 영상프레임으로부터 추출한 객체의 픽셀들을 맵핑한 예가 도 6에 도시되어 있다.The first grid arrangement unit 1120 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 1130 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 the lattice space is shown in FIG. 5, and an example of mapping pixels of an object extracted from an image frame to the lattice space is shown in FIG.

보정부(1140)는 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정한다. 격자공간의 비교를 통해 보정하는 방법의 일 예가 도 7에 도시되어 있다.The correction unit 1140 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 comparison of grid spaces is shown in FIG. 7 .

객체생성부(1150)는 깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성한다 . 객체생성부(1150)는 픽셀 전체를 이용하여 3차원 가상공간의 객체를 생성할 수 있다. 그러나 이 경우 연산량이 많아지므로, 객체생성부(1150)는 포인트 클라우드를 생성하여 가상객체를 생성할 수 있으며, 이에 대한 예가 도 8 내지 도 10에 도시되어 있다.The object generator 1150 creates a virtual object having surface information based on pixels whose depth values are corrected. The object generator 1150 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 1150 may create a virtual object by creating a point cloud, examples of which are shown in FIGS. 8 to 10 .

본 발명의 각 실시 예는 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 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 (7)

일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분하는 단계;
상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분하는 단계;
기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치하는 단계;
기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치하는 단계;
상기 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정하는 단계; 및
깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성하는 단계;를 포함하는 것을 특징으로 하는 가상공간의 객체 생성 방법.
dividing a first background area and a first object area in an image frame obtained by photographing a certain space with a depth camera;
Separating a second background area and a second object area in a measurement frame obtained by measuring the predetermined space with LIDAR;
arranging pixels of the first object area according to depth values in a first grid space including a grid having a predefined size;
arranging points of the second object area according to distance values in a second grid space including a grid having a predefined size;
correcting a depth value of a pixel in the first grid space based on a distance value of a point in the second grid space; and
A method of creating an object in a virtual space, comprising: generating a virtual object having surface information based on a pixel whose depth value is corrected.
제 1항에 있어서,
상기 제1 배경영역과 제1 객체영역을 구분하는 단계는,
상기 깊이카메라로 촬영하여 얻은 복수의 프레임을 동일한 객체가 존재하는 복수의 구간으로 구분하는 단계; 및
각 구간의 프레임에 대해 상기 객체를 나타내는 제1 객체영역을 구분하는 단계;를 포함하고,
상기 제2 배경영역과 제2 객체영역을 구분하는 단계는,
상기 라이다로 측정하여 얻은 복수의 프레임을 동일한 객체가 존재하는 복수의 구간으로 구분하는 단계; 및
각 구간의 프레임에 대해 상기 객체를 나타내는 제2 객체영역을 구분하는 단계;를 포함하는 것을 특징으로 하는 가상공간의 객체 생성 방법.
According to claim 1,
In the step of dividing the first background area and the first object area,
Dividing a plurality of frames obtained by photographing with the depth camera into a plurality of sections in which the same object exists; and
Dividing a first object area representing the object for each frame of each section;
In the step of dividing the second background area and the second object area,
Dividing a plurality of frames obtained by measuring with the LIDAR into a plurality of sections in which the same object exists; and
A method of creating an object in a virtual space, comprising: dividing a second object area representing the object in a frame of each section.
제 1항에 있어서, 상기 가상 객체를 생성하는 단계는,
동일 객체가 존재하는 복수의 영상프레임에서 상기 객체에 대한 깊이값이 보정된 픽셀을 이용하여 가상 객체를 생성하는 단계를 포함하는 것을 특징으로 하는 가상공간의 객체 생성 방법.
The method of claim 1, wherein the generating of the virtual object comprises:
A method of creating an object in a virtual space, comprising generating a virtual object by using pixels whose depth value of the object is corrected in a plurality of image frames in which the same object exists.
제 1항에 있어서, 상기 보정하는 단계는,
상기 제1 가상공간에 존재하는 픽셀 중 일부를 추출하여 포인트 클라우드를 생성하는 단계; 및
상기 포인트 클라우드의 깊이값을 상기 제2 가상공간의 거리값을 기준으로 보정하는 단계;를 포함하는 것을 특징으로 하는 가상공간의 객체 생성 방법.
The method of claim 1, wherein the correcting step,
generating a point cloud by extracting some of the pixels existing in the first virtual space; and
and correcting the depth value of the point cloud based on the distance value of the second virtual space.
제 4항에 있어서, 상기 가상 객체를 생성하는 단계는,
보정된 포인트 클라우드를 기초로 딥 러닝을 이용하여 가상 객체를 생성하는 단계;를 포함하는 것을 특징으로 하는 가상공간의 객체 생성 방법.
The method of claim 4, wherein the generating of the virtual object comprises:
A method for creating an object in a virtual space, comprising: generating a virtual object using deep learning based on the calibrated point cloud.
일정 공간을 깊이카메라로 촬영하여 얻은 영상프레임에서 제1 배경영역과 제1 객체영역을 구분하는 제1 객체추출부;
상기 일정 공간을 라이다로 측정하여 얻은 측정프레임에서 제2 배경영역과 제2 객체영역을 구분하는 제2 객체추출부;
기 정의된 크기의 격자를 포함하는 제1 격자공간에 상기 제1 객체영역의 픽셀을 깊이값에 따라 배치하는 제1격자배치부;
기 정의된 크기의 격자를 포함하는 제2 격자공간에 상기 제2 객체영역의 포인트를 거리값에 따라 배치하는 제2격자배치부;
상기 제1 격자공간의 픽셀의 깊이값을 상기 제2 격자공간의 포인트의 거리값을 기준으로 보정하는 보정부; 및
깊이값이 보정된 픽셀을 기준으로 표면정보가 존재하는 가상 객체를 생성하는 객체생성부;를 포함하는 것을 특징으로 하는 가상객체생성장치.
a first object extraction unit dividing a first background area and a first object area in an image frame obtained by photographing a certain space with a depth camera;
a second object extraction unit dividing a second background area and a second object area in a measurement frame obtained by measuring the predetermined space with LIDAR;
a first grid arranging unit for arranging pixels of the first object area according to depth values in a first grid space including a grid having a predefined size;
a second grid arranging unit for arranging points of the second object area according to distance values in a second grid space including a grid having a predefined size;
a correction unit for correcting a depth value of a pixel in the first grid space based on a distance value of a point in the second grid space; and
A virtual object generating device comprising: an object generating unit generating a virtual object having surface information based on a pixel whose depth value is corrected.
제 1항 내지 제 5항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a computer program for performing the method according to any one of claims 1 to 5.
KR1020210163001A 2021-11-24 2021-11-24 Method and apparatus for creating object in virtual reality KR20230076241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210163001A KR20230076241A (en) 2021-11-24 2021-11-24 Method and apparatus for creating object in virtual reality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210163001A KR20230076241A (en) 2021-11-24 2021-11-24 Method and apparatus for creating object in virtual reality

Publications (1)

Publication Number Publication Date
KR20230076241A true KR20230076241A (en) 2023-05-31

Family

ID=86543520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210163001A KR20230076241A (en) 2021-11-24 2021-11-24 Method and apparatus for creating object in virtual reality

Country Status (1)

Country Link
KR (1) KR20230076241A (en)

Similar Documents

Publication Publication Date Title
US10643347B2 (en) Device for measuring position and orientation of imaging apparatus and method therefor
JP2009080578A (en) Multiview-data generating apparatus, method, and program
JP2021535466A (en) Methods and systems for reconstructing scene color and depth information
CN101689299A (en) System and method for stereo matching of images
CN113689578B (en) Human body data set generation method and device
JP6541920B1 (en) INFORMATION PROCESSING APPARATUS, PROGRAM, AND INFORMATION PROCESSING METHOD
JP2020042503A (en) Three-dimensional symbol generation system
CN112116714A (en) Method and device for generating room structure model based on two-dimensional image
CN113643414A (en) Three-dimensional image generation method and device, electronic equipment and storage medium
CN112465911A (en) Image processing method and device
CN112184793A (en) Depth data processing method and device and readable storage medium
KR101538014B1 (en) Converting method photographic images to 3d images through 3d modeling
JP5071866B2 (en) Distance measuring device, method and program
CN111742352A (en) 3D object modeling method and related device and computer program product
JP7298687B2 (en) Object recognition device and object recognition method
KR20230076241A (en) Method and apparatus for creating object in virtual reality
CN114241052B (en) Method and system for generating new view image of multi-object scene based on layout
US11328477B2 (en) Image processing apparatus, image processing method and storage medium
WO2023095936A1 (en) Object generation method for virtual space, and device using same
KR20230076242A (en) Method and device for recognizing error of drawing
JP6719168B1 (en) Program, apparatus and method for assigning label to depth image as teacher data
JP6641313B2 (en) Region extraction device and program
JP2017215706A (en) Video synthesis method, video acquisition device, video synthesis system, and computer program
JP2002350131A (en) Calibration method for and apparatus of multiocular camera and computer program
CN111866493A (en) Image correction method, device and equipment based on head-mounted display equipment