KR20130067882A - Method for generating 3d surface reconstruction model using multiple gpus and apparatus of enabling the method - Google Patents

Method for generating 3d surface reconstruction model using multiple gpus and apparatus of enabling the method Download PDF

Info

Publication number
KR20130067882A
KR20130067882A KR1020110134907A KR20110134907A KR20130067882A KR 20130067882 A KR20130067882 A KR 20130067882A KR 1020110134907 A KR1020110134907 A KR 1020110134907A KR 20110134907 A KR20110134907 A KR 20110134907A KR 20130067882 A KR20130067882 A KR 20130067882A
Authority
KR
South Korea
Prior art keywords
model
real
time
generating
image
Prior art date
Application number
KR1020110134907A
Other languages
Korean (ko)
Other versions
KR101923619B1 (en
Inventor
박정철
구본기
이지형
최윤석
김도형
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020110134907A priority Critical patent/KR101923619B1/en
Publication of KR20130067882A publication Critical patent/KR20130067882A/en
Application granted granted Critical
Publication of KR101923619B1 publication Critical patent/KR101923619B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

PURPOSE: A method for generating a 3D surface reconstruction model using multiple GPUs(Graphics Processing Unit) and an apparatus for the same are provided to determine whether an object region is included based on a central point, not an apex of a voxel cube, and to efficiently compensate peripheral information, which can be lost, in a mesh generation step, thereby reducing time required for calculation. CONSTITUTION: An input data generator(110) divides an image data, which is inputted through at least one or more cameras, into a foreground image and a background image. A real-time model generator(120) generates a 3D volume model using the foreground and background images through multiple GPUs, and generates a 3D mesh model by processing the 3D volume model. A real-time rendering unit(130) generates an animation image through texture mapping and composing to the 3D mesh model. [Reference numerals] (110) Input data generator; (120) Real-time model generator; (130) Real-time rendering unit; (AA) Input; (BB) Output

Description

멀티 GPU를 이용한 실시간 3차원 외형 복원 모델 생성 방법 및 그 장치{Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method}Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method

본 발명의 실시예들은 컴퓨터 그래픽스의 한 부분인 모델링에 관한 기술로서, 영상을 기반으로 3차원 외형 복원 모델을 생성하기 위한 방법 및 그 장치에 관한 것이다.Embodiments of the present invention relate to modeling, which is part of computer graphics, and a method and apparatus for generating a 3D contour reconstruction model based on an image.

3차원(3-Dimensional) 그래픽스 하드웨어 기술은 단순히 고품질의 랜더링 기술의 향상뿐 아니라, 병렬처리 기법을 이용하여 간단하고 반복적인 계산에 대한 처리 속도 향상도 같이 발전하고 있다. 3-Dimensional graphics hardware technology not only improves high quality rendering technology, but also advances processing speed for simple and iterative calculations using parallel processing techniques.

GPU를 이용한 계산 속도 향상은 내부에 많은 코어(core)를 탑재해 한 번에 처리할 수 있는 계산 량을 늘리는 방식이다. 일반적인 CPU 코어의 개수는 8 개 또는 16개이고, GPU는 현재 512 개의 코어를 가지고 있다. 이러한 코어 수의 차이로 인해 한 번에 처리할 수 있는 양이 커지게 되므로, 같은 양을 처리할 때 CPU 보다 GPU가 더 빠르게 계산을 수행할 수 있다. CPU의 코어의 성능이 GPU의 코어의 성능보다 통상 높고 다양한 태스크를 처리하기 적합하지만, 영상 처리 중 하나인 영상 블러(blur)의 처리 과정을 보면, 영상의 모든 픽셀에 단순히 3x3 혹은 5x5의 마스크 적용을 함으로써 결과를 얻을 수 있는데 이러한 작업은 반복적이고 단순한 매트릭스(matrix) 계산이기 때문에 GPU의 성능으로 충분히 결과를 얻을 수 있다. 이와 같이, GPU는 단순하고 반복적인 계산이 필요한 분야, 특히 그래픽스 응용 분야에서 많이 사용되고 있다. Increasing the computational speed using the GPU increases the amount of computation that can be processed at one time by loading many cores inside. The typical number of CPU cores is eight or sixteen, and the GPU currently has 512 cores. This difference in the number of cores increases the amount that can be processed at one time, allowing the GPU to perform calculations faster than the CPU when processing the same amount. While the performance of the CPU's core is usually higher than that of the GPU's core and suitable for processing a variety of tasks, the processing of image blur, which is one of the image processing, simply applies a 3x3 or 5x5 mask to every pixel of the image. We can get the result by doing this, and since this is an iterative and simple matrix calculation, we can get enough results from the performance of the GPU. As such, GPUs are widely used in applications requiring simple and repetitive calculations, especially in graphics applications.

3차원 외형 복원 모델 생성에 사용되는 가장 일반적인 방법 중 하나는, 여러 방향의 시점으로부터 획득한 2차원의 영상정보를 조합하는 것이다. 이때, 2차원 영상의 개수가 많고 해상도가 높으면 외형 복원 모델의 정확도를 높일 수 있으나 처리 시간 역시 크게 증가한다. One of the most common methods used to generate a three-dimensional appearance reconstruction model is to combine two-dimensional image information obtained from viewpoints in various directions. At this time, if the number of 2D images is high and the resolution is high, the accuracy of the appearance reconstruction model can be increased, but the processing time also increases significantly.

본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 장치는, 하나 이상의 카메라를 통해 입력된 영상 데이터를 획득하고, 상기 카메라에 대한 캘리브레이션을 수행하며, 상기 영상 데이터에 대해 전경 및 배경을 분리하여 전경/배경 분리 영상을 생성하는 입력 데이터 생성부; 상기 전경/배경 영상을 이용하여 멀티 GPU를 통해 3차원 볼륨 모델을 생성하고, 상기 3차원 볼륨 모델을 처리하여 3차원 메쉬 모델을 생성하는 실시간 모델 생성부; 및 상기 3차원 메쉬 모델에 대한 텍스쳐를 매핑 및 합성하여 애니메이션 영상을 생성하는 실시간 랜더링부를 포함한다.The apparatus for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention obtains image data input through at least one camera, performs calibration on the camera, and separates the foreground and background from the image data. An input data generator for generating a foreground / background separated image; A real-time model generator for generating a 3D volume model through the multi-GPU using the foreground / background image, and generating a 3D mesh model by processing the 3D volume model; And a real-time rendering unit for generating an animation image by mapping and synthesizing a texture of the 3D mesh model.

본 발명의 일실시예에 따르면, 3차원 외형 복원 모델 생성에 필요한 3차원 볼륨 모델 생성 및 3차원 메쉬 모델 생성 시, GPU를 이용하는 실시간 3차원 외형 복원 모델 생성 방법이 제안된다. According to an embodiment of the present invention, a method for generating a real-time three-dimensional appearance restoration model using a GPU when generating a three-dimensional volume model and a three-dimensional mesh model required for generating a three-dimensional appearance restoration model is proposed.

본 발명의 일실시예에 따르면, 멀티 GPU를 이용한 실시간 3차원 외형 복원 모델을 생성하기 위해 병렬 처리 방법, 일례로 CUDA(Compute Unified Device Architecture)를 사용함으로써 3차원 외형 복원 모델의 생성 속도를 증가시킬 수 있다.According to an embodiment of the present invention, a parallel processing method, for example, a Compute Unified Device Architecture (CUDA) is used to generate a real-time three-dimensional appearance reconstruction model using a multi-GPU, thereby increasing the generation speed of the three-dimensional appearance reconstruction model. Can be.

도 1은 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 장치의 블록도이다.
도 2는 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 방법의 흐름도이다.
도 3은 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 방법에서 이용되는 멀티 GPU 사용 방법의 일례를 설명하는 흐름도이다.
1 is a block diagram of a device for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.
2 is a flowchart of a method for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.
3 is a flowchart illustrating an example of a method of using a multi-GPU used in a method for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.

이하에서, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 방법 및 그 장치는 CUDA(Compute Unified Device Architecture) API(Application Programming Interface)를 이용한 실시간 3차원 모델 생성 기법을 이용할 수 있다.The method and apparatus for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention may use a real-time three-dimensional model generation technique using a Compute Unified Device Architecture (CUDA) application programming interface (API).

본 명세서에서 설명하는 3차원 외형 복원 모델 생성 방법 및 그 장치에 사용되는 가장 일반적인 기법 중 하나는 여러 방향의 시점으로부터 획득한 2차원의 영상정보를 조합하는 것이다. 이 경우, 2차원 영상의 개수가 많고 해당 영상의 해상도가 높으면 외형 복원 모델의 정확도를 높일 수 있으나, 처리 시간 역시 크게 증가한다. 본 명세서에서는, 연산 시간이 매우 많이 소요되는 기존의 문제점 해결을 위하여 복셀(voxel) 큐브(cube)의 꼭지점이 아닌 중점을 기준으로 객체 영역 포함 여부를 판단하고, 이때 손실될 수 있는 외곽 정보를 메쉬(mesh) 변환 단계에서 효율적으로 보완함으로써 연산 시간을 단축하고 외형 복원 모델의 정확도를 향상할 수 있는 방법이 개시된다.One of the most common techniques used in the method and apparatus for generating a 3D appearance reconstruction model described herein is to combine two-dimensional image information obtained from viewpoints in various directions. In this case, if the number of 2D images is large and the resolution of the corresponding image is high, the accuracy of the appearance reconstruction model can be increased, but the processing time also increases significantly. In the present specification, in order to solve a conventional problem that requires a lot of computation time, it is determined whether to include an object region based on a midpoint instead of a vertex of a voxel cube, and meshes the edge information that may be lost. A method for reducing the computation time and improving the accuracy of the appearance reconstruction model by efficiently compensating in the (mesh) transformation step is disclosed.

도 1은 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 장치의 블록도이다. 1 is a block diagram of a device for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.

본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 장치(100)는 입력 데이터 생성부(110), 실시간 모델 생성부(120), 및 실시간 랜더링부(130)를 포함한다. The apparatus for generating real-time 3D appearance reconstruction model 100 according to an embodiment of the present invention includes an input data generator 110, a real-time model generator 120, and a real-time renderer 130.

입력 데이터 생성부(110)는 하나 이상의 카메라를 통해 입력된 영상 데이터를 획득하고, 상기 카메라에 대한 캘리브레이션을 수행하며, 상기 영상 데이터에 대해 전경 및 배경을 분리하여 전경/배경 분리 영상을 생성한다.The input data generator 110 acquires image data input through at least one camera, performs calibration on the camera, and generates a foreground / background separated image by separating the foreground and the background from the image data.

입력 데이터 생성부(110)는 영상 획득을 위해 일례로 20대의 방송용 카메라(도시되지 아니함)에서 720 p의 해상도를 가진 영상을 60 fps의 속도로 입력 받는다. 720p는 프로그래시브 방식으로 단일 프레임이 모든 정보를 가지고 있기 때문에 1280x720x3(RGB)의 해상도를 가지게 되고, 하나의 프레임 당 약 3 Byte의 크기를 가진다. 본 실시예에서, 입력 영상은 20대의 카메라에서 획득되기 때문에 상대적으로 대용량의 데이터가 생성된다. 획득된 영상에 대한 코드북 기반 전경 및 배경 분리가 수행되는데, 전경 및 배경이 분리된 이진(배경/전경) 데이터, 즉 전경/배경 분리 영상은 3차원 외형 복원 모델을 생성하기 위한 입력 데이터로 사용된다. The input data generating unit 110 receives an image having a resolution of 720 p at a speed of 60 fps from an example 20 broadcasting cameras (not shown) for image acquisition. 720p has a resolution of 1280x720x3 (RGB) because a single frame has all the information in a progressive manner, and has a size of about 3 bytes per frame. In the present embodiment, since the input image is obtained from 20 cameras, a relatively large amount of data is generated. Codebook-based foreground and background separation is performed on the acquired image. Binary (background / foreground) data, which is the foreground and background separated, that is, the foreground / background separated image is used as input data for generating a 3D appearance reconstruction model. .

카메라 캘리브레이션(calibration)은 상기 하나 이상의 카메라와 실(real) 공간에 대한 수치적인 정보를 계산하기 위한 것이다. 카메라 캘리브레이션은 내/외부 인자를 추출하고, 추출된 내/외부 인자를 이용한 3차원 정보를 영상에 프로젝션(projection) 시킴으로써 실제의 모델과 영상에 프로젝션된 모델을 비교할 수 있다. Camera calibration is for calculating numerical information about the one or more cameras and real space. Camera calibration can compare the actual model and the projected image to the image by extracting the internal / external factors and by projecting the three-dimensional information using the extracted internal / external factors to the image.

실시간 모델 생성부(120)는 입력 데이터 생성부(110)에서 얻은 상기 전경/배경 영상을 이용하여 멀티 GPU를 통해 3차원 볼륨 모델을 생성하고, 상기 3차원 볼륨 모델을 처리하여 3차원 메쉬 모델을 생성한다.The real-time model generator 120 generates a 3D volume model through the multi-GPU using the foreground / background image obtained by the input data generator 110 and processes the 3D volume model to generate a 3D mesh model. Create

실시간 모델 생성부(120)에서 생성되는 3차원 볼륨 모델은 SFS(Shape From Silhouette) 기법인 가상 헐(visual hull)을 이용할 수 있다. 3차원 볼륨 모델은 복셀(voxel)이라는 작은 큐브의 형태가 모여서 마치 하나의 블록처럼 쌓여진 모습을 의미한다. 여기에서 3차원 공간상에 놓여져 있는 복셀 중 3차원 모델을 구성하는 복셀을 찾기 위해, 일반적으로 3차원 공간의 어느 한 곳에 큰 큐브(cube)를 만들고 일정한 크기로 조각(slice)을 만들어 각 조각을 복셀로 사용할 수 있다. 이 조각들을 아래의 [수식 1]에 의해서 영상에 프로젝션 시켜 3차원 볼륨 모델에 포함되는 복셀을 찾을 수 있다. The 3D volume model generated by the real time model generator 120 may use a virtual hull, a shape from silhouette (SFS) technique. The 3D volume model refers to the appearance of small cubes called voxels stacked together as a single block. Here, in order to find the voxels constituting the three-dimensional model among the voxels placed in the three-dimensional space, generally, a large cube is created in one of the three-dimensional spaces, and slices are made with slices of a certain size. Can be used as a voxel. These pieces can be projected onto the image by the following Equation 1 to find the voxels included in the 3D volume model.

Figure pat00001
Figure pat00001

상기 복셀의 크기를 작게 하는 경우, 좀 더 정밀한 3차원 볼륨 모델을 얻을 수 있으나, 3차원 볼륨 모델을 생성하는데 소요되는 시간이 커진다. 3차원 볼륨 모델을 생성하는데 소요되는 시간을 줄이기 위해, 공간 분할 방법인 Octree 구조를 사용할 수 있다. 보통 큰 큐브를 일정한 간격으로 조각 내어 복셀을 만드는데, 3차원 볼륨 모델은 전체의 복셀의 1%의 정도 복셀을 이용하여 생성될 수 있다. 따라서, 위의 경우 99%의 복셀들이 불필요하게 탐색될 수 있다. 이를 해결하기 위해 공간 분할 방법을 통해서 사용되지 않는 복셀을 예측하여 연산 시간을 줄이는 방법이 제안되었으나, 이러한 방법도 3차원 볼륨 모델을 만들기 위해서는 0.89 초 정도 걸리게 된다. 생성된 모든 복셀을 탐색하는 경우 소요되는 1.77초 정도의 시간에 비해 약 2배 정도의 연산 시간 절감 효과를 얻을 수 있으나, 실시간성을 확보하기에는 다소 부족할 수 있다. When the size of the voxel is reduced, a more accurate three-dimensional volume model can be obtained, but the time required to generate the three-dimensional volume model becomes large. To reduce the time it takes to create a three-dimensional volume model, you can use the Octree structure, a spatial partitioning method. Usually, a large cube is sliced at regular intervals to create a voxel. A 3D volume model can be generated using about 1% of the entire voxel. Thus, 99% of the voxels may be searched unnecessarily in the above case. In order to solve this problem, a method of reducing computation time by predicting unused voxels through the spatial partitioning method has been proposed, but this method also takes about 0.89 seconds to create a 3D volume model. When searching for all generated voxels, the computation time can be reduced by about twice as much as the time required for 1.77 seconds, but it may be insufficient to secure real-time.

본 발명에 따른 실시간 3차원 외형 복원 모델 생성 장치(100)의 실시간 모델 생성부(120)에서는, 멀티 GPU를 이용하여 3차원 볼륨 모델을 생성하는 방법을 제안한다. 위에서 설명한, 모든 복셀을 영상에 프로젝션하는 작업 및 공간 분할 방법을 이용하여 복셀을 찾는 작업은 CPU(도시되지 아니함)에서 처리한다. CPU에서는 빠른 연산 수행을 위해 쓰래딩(threading)과 같은 병렬 처리 기법을 이용할 수 있다. 쓰래딩은 시스템이 가지고 있는 코어의 개수에 따라서 쓰래드(thread)의 개수를 정한다. 코어가 많으면 많은 쓰래드를 돌릴 수 있고 많은 작업(task)을 한 번에 처리할 수가 있다. The real-time model generator 120 of the real-time three-dimensional appearance reconstruction model generating apparatus 100 according to the present invention proposes a method of generating a three-dimensional volume model using a multi-GPU. As described above, the task of projecting all voxels to an image and the task of finding the voxels using a spatial division method are processed by a CPU (not shown). The CPU can use parallel processing techniques such as threading to speed up computation. Threading sets the number of threads according to the number of cores the system has. If you have a lot of cores, you can run many threads and process many tasks at once.

통상 CPU의 코어는 가격이 비싸다. 따라서, 연산 속도를 늘리기 위해 코어 개수를 늘리는 경우, 단가가 높아진다. 따라서, 본 발명의 일실시예에 따르면, GPU에서 계산을 위한 코어를 늘리는 방법을 채택한다. 이러한 코어를 제어하기 위해서, 병렬 처리 API(Application Programming Interface)인 CUDA(Compute Unified Device Architecture)을 이용하여 많은 쓰래드를 발생시킴으로써, 많은 작업을 동시에 처리할 수 있다. CPU cores are usually expensive. Therefore, when the number of cores is increased to increase the computation speed, the unit cost increases. Thus, according to one embodiment of the present invention, a method of increasing the core for computation in the GPU is adopted. In order to control such a core, a large number of threads can be generated using the Compute Unified Device Architecture (CUDA), which is a parallel processing API (Application Programming Interface), so that many tasks can be processed simultaneously.

3차원 볼륨 모델을 생성하는 방법은, 복셀을 영상에 투영하여 탐색하는 것이므로, GPU는 효율적으로 사용될 수 있다. 본 발명의 일실시예에 따르면, 실제로 3차원 볼륨 모델을 생성하는데 소요되는 시간은 일반적으로 CPU의 수행 시간보다 빨랐으며, 이를 통해 실시간성을 확보할 수 있다. Since a method of generating a 3D volume model is to search and search a voxel on an image, the GPU may be efficiently used. According to an embodiment of the present invention, the time required to actually generate the 3D volume model is generally faster than the execution time of the CPU, thereby securing real time.

3차원 메쉬 모델을 생성하기 위해서, 매칭 큐브(marching cube) 알고리즘을 적용할 수 있다. 매칭 큐브 알고리즘은 삼각형의 모양을 결정하기 위한 것인데, 보통 256개 패턴을 통해서 다양한 형태의 삼각형을 생성한다. 매칭 큐브의 256개의 패턴을 찾는 반복적인 작업이 수행되고, 이 작업은 멀티 GPU에서 수행될 수 있다. To create a three-dimensional mesh model, a matching cube algorithm can be applied. The matching cube algorithm is used to determine the shape of a triangle, usually creating various shapes of triangles through 256 patterns. An iterative task of finding 256 patterns of matching cubes is performed, which can be performed on multiple GPUs.

3차원 볼륨 모델 및 3차원 메쉬 모델을 생성하기 위해, 병렬 처리 기법인 CUDA를 사용함으로써 실시간성을 확보할 수 있는 정도의 속도를 얻을 수 있다. GPU를 여러 개를 사용함으로써, 실시간 3차원 모델을 생성하는 것이 가능하다.In order to generate a three-dimensional volume model and a three-dimensional mesh model, by using CUDA, a parallel processing technique, the speed that can secure real-time can be obtained. By using multiple GPUs, it is possible to create real-time three-dimensional models.

위에서 설명한 멀티 GPU를 사용 방법은 도 2를 참조하여 상세히 설명한다.The method of using the multi-GPU described above will be described in detail with reference to FIG. 2.

도 2는 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 방법에서 이용되는 멀티 GPU 사용 방법의 일례를 설명하는 흐름도이다.2 is a flowchart illustrating an example of a method of using a multi-GPU used in a method for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.

먼저, GPU 커널을 생성한다(201). GPU 커널을 생성하여, GPU의 사용을 알려 준다. First, a GPU kernel is generated (201). Generates a GPU kernel, which tells the GPU usage.

메인 메모리에서는 GPU의 메모리로 메모리 할당(202) 및 이동(203)을 수행한다. 단계(202 및 203)에서 수행되는 메모리 할당 및 이동은 통상 PCI(Peripheral Component Interconnect)를 통해서 수행되므로, 동시에 두 개의 GPU 메모리에서 수행될 수 없다. 따라서, 멀티 GPU 사용을 위해서는 단계(201 내지 206)가 반복적으로 수행되어야 한다.In main memory, memory allocation 202 and movement 203 are performed to the memory of the GPU. Memory allocation and movement performed in steps 202 and 203 are typically performed through a Peripheral Component Interconnect (PCI), and therefore cannot be performed on two GPU memories at the same time. Thus, steps 201 to 206 must be performed repeatedly for multi-GPU use.

단계(202 및 203) 이후, 멀티 3차원 볼륨 모델이 생성되고(204), 멀티 3D 메쉬 모델이 생성된다(205). 단계(204 및 205)는 이미 GPU 메모리로 이동된 데이터를 이용하여 수행되므로, 동시에 수행될 수도 있다. After steps 202 and 203, a multi three-dimensional volume model is generated (204), and a multi 3D mesh model is generated (205). Steps 204 and 205 may be performed at the same time as they are performed using data already moved to GPU memory.

단계(205)가 수행되면, GPU 메모리에서 메인 메모리로 생성된 멀티 3차원 메쉬 모델이 이동된다(206). 하나의 GPU에 대해 단계(201 내지 206)이 수행되면, 다시 GPU 커널을 생성하고(207), 단계(202 내지 206)이 반복적으로 수행된다. When step 205 is performed, the multi-dimensional mesh model generated from GPU memory to main memory is moved (206). When steps 201 to 206 are performed for one GPU, the GPU kernel is again generated 207, and steps 202-206 are performed repeatedly.

다시 도 1을 참조하면, 실시간 랜더링부(130)는 실시간 모델 생성부(120)에서 얻은 상기 3차원 메쉬 모델에 대한 텍스쳐를 매핑 및 합성하여 애니메이션 영상을 생성한다.Referring back to FIG. 1, the real-time rendering unit 130 generates an animated image by mapping and synthesizing a texture of the 3D mesh model obtained by the real-time model generator 120.

실시간 랜더링부(130)는 하나 이상의 카메라(도시되지 아니함)에서 획득된 영상을 이용하여 생성된 3차원 메쉬 모델을 이동 혹은 회전하고, 가장 가까운 카메라에서 획득된 영상을 이용하여 텍스쳐 매핑을 한다. The real-time rendering unit 130 moves or rotates the 3D mesh model generated by using images acquired from one or more cameras (not shown), and performs texture mapping using images obtained from the closest camera.

또한, 실시간 랜더링부(130)는 택스쳐 매핑된 3차원 모델에 대해 OGRE 3D 등의 그래픽스 엔진을 이용하여 합성 및 애니메이션을 수행한다. 그래픽스 엔진을 이용함으로써, 손쉽게 씬(scene)을 정의하고 새로운 모델의 모션을 적용하여 애니메이션을 수행할 수 있다.In addition, the real-time rendering unit 130 performs synthesis and animation on the texture-mapped 3D model using a graphics engine such as OGRE 3D. By using a graphics engine, you can easily define scenes and animate by applying new model motion.

도 3은 본 발명의 일실시예에 따른 실시간 3차원 외형 복원 모델 생성 방법에서 이용되는 멀티 GPU 사용 방법의 일례를 설명하는 흐름도이다.3 is a flowchart illustrating an example of a method of using a multi-GPU used in a method for generating a real-time three-dimensional appearance reconstruction model according to an embodiment of the present invention.

도 3을 참조하면, 하나 이상의 카메라를 통해 입력된 영상 데이터를 획득한다(301).Referring to FIG. 3, image data input through at least one camera is obtained (301).

상기 카메라에 대한 캘리브레이션을 수행하고(302), 상기 영상 데이터에 대해 전경 및 배경을 분리하여 전경/배경 분리 영상을 생성한다(303).The camera is calibrated (302), and the foreground and background are separated from the image data to generate a foreground / background separated image (303).

단계(303)에서 생성된 상기 전경/배경 영상을 이용하여 멀티 GPU를 통해 3차원 볼륨 모델을 생성한다(304).The 3D volume model is generated through the multi-GPU using the foreground / background image generated in step 303 (304).

상기 3차원 볼륨 모델을 처리하여 3차원 메쉬 모델을 생성한다(305). 단계(305)에서 3차원 메쉬 모델을 생성하기 위해, 멀티 GPU를 이용할 수 있다. 멀티 GPU를 사용하는 방법은 이미 도 2를 참조하여 상세히 설명하였으므로, 이하 그 설명을 생략한다.The 3D volume model is processed to generate a 3D mesh model (305). To generate a three-dimensional mesh model in step 305, multiple GPUs may be used. Since the method using the multi-GPU has already been described in detail with reference to FIG. 2, the description thereof will be omitted below.

단계(305)에서 생성된 3D 메쉬 모델을 이용하여, 택스쳐 매핑이 수행된다(306).Using the 3D mesh model generated in step 305, texture mapping is performed (306).

단계(306)에서 택스쳐 매핑된 3차원 모델에 대해 OGRE 3D 등의 그래픽스 엔진을 이용하여 합성 및 애니메이션을 수행한다(307 및 308). 단계(307 및 308)에서, 그래픽스 엔진을 이용함으로써, 손쉽게 씬(scene)을 정의하고 새로운 모델의 모션을 적용하여 애니메이션을 수행할 수 있다.In step 306, synthesis and animation is performed on the texture-mapped 3D model using a graphics engine such as OGRE 3D (307 and 308). In steps 307 and 308, by using the graphics engine, one can easily define a scene and apply motion of a new model to perform animation.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk, and a magnetic tape; optical media such as CD-ROM and DVD; magnetic recording media such as a floppy disk; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

100: 실시간 3D 외형 복원 모델 생성 장치
110: 입력 데이터 생성부
120: 실시간 모델 생성부
130: 실시간 랜더링부
100: real-time 3D appearance restoration model generation device
110: input data generation unit
120: real-time model generation unit
130: real-time rendering unit

Claims (1)

실시간 3차원 외형 복원 모델 생성 장치에 있어서,
하나 이상의 카메라를 통해 입력된 영상 데이터를 획득하고, 상기 카메라에 대한 캘리브레이션을 수행하며, 상기 영상 데이터에 대해 전경 및 배경을 분리하여 전경/배경 분리 영상을 생성하는 입력 데이터 생성부;
상기 전경/배경 영상을 이용하여 멀티 GPU를 통해 3차원 볼륨 모델을 생성하고, 상기 3차원 볼륨 모델을 처리하여 3차원 메쉬 모델을 생성하는 실시간 모델 생성부; 및
상기 3차원 메쉬 모델에 대한 텍스쳐를 매핑 및 합성하여 애니메이션 영상을 생성하는 실시간 랜더링부
를 포함하는 3차원 외형 복원 모델 생성 장치.
In the apparatus for generating a real-time three-dimensional appearance restoration model,
An input data generator configured to acquire image data input through at least one camera, perform calibration on the camera, and generate a foreground / background separated image by separating foreground and background from the image data;
A real-time model generator for generating a 3D volume model through the multi-GPU using the foreground / background image, and generating a 3D mesh model by processing the 3D volume model; And
Real-time rendering unit for generating an animation image by mapping and synthesizing the texture of the 3D mesh model
3D appearance reconstruction model generating apparatus comprising a.
KR1020110134907A 2011-12-14 2011-12-14 Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method KR101923619B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110134907A KR101923619B1 (en) 2011-12-14 2011-12-14 Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110134907A KR101923619B1 (en) 2011-12-14 2011-12-14 Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method

Publications (2)

Publication Number Publication Date
KR20130067882A true KR20130067882A (en) 2013-06-25
KR101923619B1 KR101923619B1 (en) 2018-11-30

Family

ID=48863621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110134907A KR101923619B1 (en) 2011-12-14 2011-12-14 Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method

Country Status (1)

Country Link
KR (1) KR101923619B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017099500A1 (en) * 2015-12-08 2017-06-15 스타십벤딩머신 주식회사 Animation generating method and animation generating device
KR20190040746A (en) 2017-10-11 2019-04-19 주식회사 대진애니메이션 System and method for restoring three-dimensional interest region

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102316495B1 (en) 2019-04-09 2021-10-25 한국전자기술연구원 Real-time segmented video transcoding device and method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464773B2 (en) * 2004-09-03 2010-05-19 日本放送協会 3D model display device and 3D model display program
US8314796B2 (en) 2006-02-24 2012-11-20 The Board Of Trustees Of The Leland Stanford Junior University Method of reconstructing a tomographic image using a graphics processing unit
US8125223B2 (en) 2006-10-03 2012-02-28 Singapore Agency For Science, Technology And Research Act Segmenting infarct in diffusion-weighted imaging volume
JP5120926B2 (en) 2007-07-27 2013-01-16 有限会社テクノドリーム二十一 Image processing apparatus, image processing method, and program
US20100091018A1 (en) 2008-07-11 2010-04-15 Advanced Micro Devices, Inc. Rendering Detailed Animated Three Dimensional Characters with Coarse Mesh Instancing and Determining Tesselation Levels for Varying Character Crowd Density
KR101079697B1 (en) * 2009-10-05 2011-11-03 주식회사 글로벌미디어테크 High speed processing method for image data using parallel processors on graphics processing unit
EP2345996A1 (en) 2009-12-01 2011-07-20 ETH Zürich, ETH Transfer Method and computing device for generating a 3D body

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017099500A1 (en) * 2015-12-08 2017-06-15 스타십벤딩머신 주식회사 Animation generating method and animation generating device
KR20180098507A (en) * 2015-12-08 2018-09-04 스타십벤딩머신 주식회사 Method and apparatus for generating animation
KR20190040746A (en) 2017-10-11 2019-04-19 주식회사 대진애니메이션 System and method for restoring three-dimensional interest region

Also Published As

Publication number Publication date
KR101923619B1 (en) 2018-11-30

Similar Documents

Publication Publication Date Title
US20210074052A1 (en) Three-dimensional (3d) rendering method and apparatus
US7463261B1 (en) Three-dimensional image compositing on a GPU utilizing multiple transformations
Loop et al. Real-time high-resolution sparse voxelization with application to image-based modeling
KR101199475B1 (en) Method and apparatus for reconstruction 3 dimension model
CN111243071A (en) Texture rendering method, system, chip, device and medium for real-time three-dimensional human body reconstruction
JP7266021B2 (en) variable rate shading
JP2022091849A (en) Methods and graphics processing units for determining differential data for rays of ray bundle
US8669979B2 (en) Multi-core processor supporting real-time 3D image rendering on an autostereoscopic display
JP2018537755A (en) Foveal geometry tessellation
KR20160033128A (en) Sparse gpu voxelization for 3d surface reconstruction
US20090195541A1 (en) Rendering dynamic objects using geometry level-of-detail in a graphics processing unit
JP7004717B2 (en) Identification of the input index stream primitive
WO2017058448A1 (en) Dense optical flow acceleration
CN106504320A (en) A kind of based on GPU and the real-time three-dimensional reconstructing method towards depth image
US20110128286A1 (en) Image restoration apparatus and method thereof
US20180211434A1 (en) Stereo rendering
US11715262B2 (en) Optimizing primitive shaders
US9898838B2 (en) Graphics processing apparatus and method for determining level of detail (LOD) for texturing in graphics pipeline
US20240257435A1 (en) Hybrid binning
WO2018140223A1 (en) Stereo rendering
KR101923619B1 (en) Method for Generating 3D Surface Reconstruction Model Using Multiple GPUs and Apparatus of Enabling the Method
KR101467735B1 (en) Method and Apparatus for 4D Real-time Rendering for Volume Data
US10297067B2 (en) Apparatus and method of rendering frame by adjusting processing sequence of draw commands
US10026223B2 (en) Systems and methods for isosurface extraction using tessellation hardware
US20220319091A1 (en) Post-depth visibility collection with two level binning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right