CN103824328A - OpenCL (Open Computing Language)-based marching cube method - Google Patents

OpenCL (Open Computing Language)-based marching cube method Download PDF

Info

Publication number
CN103824328A
CN103824328A CN201410116588.7A CN201410116588A CN103824328A CN 103824328 A CN103824328 A CN 103824328A CN 201410116588 A CN201410116588 A CN 201410116588A CN 103824328 A CN103824328 A CN 103824328A
Authority
CN
China
Prior art keywords
opencl
summit
flag
voxel
concurrently
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201410116588.7A
Other languages
Chinese (zh)
Inventor
姜慧研
于超
项飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201410116588.7A priority Critical patent/CN103824328A/en
Publication of CN103824328A publication Critical patent/CN103824328A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

The invention discloses an OpenCL (Open Computing Language)-based marching cube method, belonging to the technical field of three-dimensional reconstruction. The OpenCL-based marching cube method runs on a computer provided with OpenCL calculation equipment. The method comprises the following steps: reading a three-dimensional image, and initializing an OpenCL environment; scanning the edges of all voxels in the three-dimensional image in parallel, and judging whether contour surface vertexes exist or not; calculating the coordinates and normal vectors of the contour surface vertexes in parallel; scanning all the voxels in parallel, calculating voxel indexes, and inquiring the number of triangles existing in the voxels; inquiring the edges of triangle vertexes in the voxels in parallel to generate a three-dimensional model. Parallel acceleration is performed on an algorithm based on an OpenCL technology; the edges in the voxels are traversed to generate vertexes, and the voxels are traversed to generate the three-dimensional model, so that memory redundancy is eliminated.

Description

A kind of Marching Cubes based on OpenCL
Technical field
The invention belongs to three-dimensional reconstruction field, be specifically related to a kind of Marching Cubes based on OpenCL.
Background technology
At three-dimensional reconstruction, can be divided into multi-view angle three-dimensional and rebuild and the large class of three-dimensional image reconstruction two.Multi-view angle three-dimensional is rebuild and is referred to the image of a scene different visual angles is rebuild, and three-dimensional image reconstruction refers to 3-D view is processed, the process of extracting effective information and shown from image.Three-dimensional image reconstruction is divided into again two class methods, volume drawing and iso-surface patch.Wherein, iso-surface patch refers to the 3 d surface model that extracts area-of-interest from image, then with traditional graph learn method shown; Volume drawing is directly image to be carried out to projection, generates drawing result image.
Marching Cubes, is a kind of method that reconstructs contour surface three-dimensional model from 3-D view, belongs to iso-surface patch.The party's ratio juris is that hypothesis 3-D view is equally distributed data fields in space, travels through all voxels, the independent contour surface that generates in each voxel, and the set of all contour surfaces forms contour surface three-dimensional model.Voxel refers in 3-D view, and foursquare four pixels of formation adjacent in certain one deck amount to eight squares that pixel forms with four pixels corresponding in adjacent layer.
OpenCL (Open Computing Language) technology provides the open frame standard of coding, especially a concurrent program for heterogeneous platform.The architecture that heterogeneous platform indication is made up of CPU, GPU and other processors.OpenCL is made up of with the API that controls platform the language of writing kernel program.Develop and safeguard by Khronos Group at present equally with OpenGL.The code of OpenCL can be carried out on GPU, also can on CPU, carry out, and has greatly improved the portability of code.The formulation of OpenCL standard is completed by corresponding standard committee, therefore can realize across manufacturer, cross-platform Heterogeneous Computing.GPU is due to its high concurrency, and in parallel computation, efficiency is better than CPU, is therefore considered to the first-selection of OpenCL computing equipment.
The OpenCL that NVIDIA has provided a Marching Cubes in its OpenCL code sample realizes, and this realization can represent the existing Marching Cubes based on OpenCL.First this realization scans voxel, the number of triangles existing in inquiry voxel; For apex coordinate and normal vector storage allocation; Again scan voxel, generate summit and triangle.The shortcoming of this mode is, the limit of voxel is shared by adjacent voxel, and the contour surface summit therefore existing on limit can be repeated to generate, and produces data redundancy.
The present invention is based on OpenCL technology to the algorithm acceleration that walks abreast; First travel through the generation summit, limit in voxel, then travel through voxel generating three-dimensional models, eliminate memory redundancy.
Summary of the invention
The present invention is directed to Marching Cubes reconstruction time long, there is the defect of redundant data in existing Parallel Implementation, has proposed a kind of Marching Cubes based on OpenCL.
Based on a Marching Cubes of OpenCL, run on the computing machine that OpenCL computing equipment is housed, comprise the following steps:
Step 1: read 3-D view, initialization OpenCL environment;
Step 2: the limit of all voxels in scanning three-dimensional image concurrently, judges whether to exist contour surface summit;
Step 3: the coordinate and the normal vector that calculate concurrently contour surface summit;
Step 4: scan concurrently all voxels, calculate voxel index, the number of triangles existing in inquiry voxel;
Step 5: inquire about concurrently limit, place, voxel intermediate cam shape summit, generating three-dimensional models.
Described step 1 reads 3-D view, initialization OpenCL environment, and concrete steps are as follows:
Step 1.1: 3-D view is read in internal memory;
Step 1.2: inquiry OpenCL platform, create OpenCL context environmental, create OpenCL message queue, compiling OpenCL program, creates OpenCL kernel function;
Step 1.3: create OpenCL buffer object, with the 3-D view binding of reading in.
Described step 2 is the limit of all voxels in scanning three-dimensional image concurrently, judges whether to exist contour surface summit, and concrete steps are as follows:
Step 2.1: set contour surface threshold value V;
Step 2.2: be summit flag storage allocation, create OpenCL buffer object and this data binding;
Step 2.3: carry out limit scanning kernel function, scan concurrently the limit of all voxels, if two of a limit end points gray-scale values are all greater than or are all less than V in voxel, summit flag corresponding this edge is made as to 0, otherwise is made as 1;
Step 2.4: be summit flag prefix assignment internal memory, adopt prefix and algorithm to calculate summit flag prefix;
Step 2.5: be summit flag packed data storage allocation, traversal summit flag, calculates summit flag packed data.
Described step 3 is calculated coordinate and the normal vector on contour surface summit concurrently, and concrete steps are as follows:
Step 3.1: be apex coordinate and normal vector storage allocation, create OpenCL buffer object and two data bindings;
Step 3.2: carry out and calculate summit kernel function, calculate concurrently coordinate and the normal vector on summit;
Step 3.3: by apex coordinate and normal vector from the OpenCL buffer object internal memory that reads back.
Described step 4 scans all voxels concurrently, calculates voxel index, the number of triangles existing in inquiry voxel, and concrete steps are as follows:
Step 4.1: be voxel index, number of triangles and triangle flag storage allocation, create OpenCL buffer object and two data bindings;
Step 4.2: carry out and calculate voxel index kernel function, calculate concurrently voxel index;
Step 4.3: be number of triangles prefix and triangle zone bit prefix assignment internal memory, create OpenCL buffer object and two data bindings, adopt prefix and algorithm in step 2.4 to calculate number of triangles prefix and triangle zone bit prefix;
Step 4.4: be triangle flag packed data storage allocation, adopt the method diabolo flag of step 2.5 to compress, obtain triangle flag packed data.
Described step 5 is inquired about limit, place, voxel intermediate cam shape summit concurrently, generating three-dimensional models, and concrete steps are as follows:
Step 5.1: be triangle index assignment internal memory, create OpenCL buffer object and its binding;
Step 5.2: carry out generating three-dimensional models kernel function, calculate concurrently triangle index;
Step 5.3: by triangle index from the OpenCL buffer object internal memory that reads back.
Described step 3.2 is carried out and is calculated summit kernel function, calculates concurrently coordinate and the normal vector on summit, and concrete steps are as follows:
Step 3.2.1: scan vertex flag packed data concurrently, in the flag packed data of summit there is the limit on summit in one of each value correspondence, calculates apex coordinate;
Step 3.2.2: calculate vertex scheme vector;
Step 3.2.3: N is carried out to unit computing, C and N are write in corresponding apex coordinate and normal vector OpenCL buffer object, writing position is EOS i.
Described step 4.2 is carried out and is calculated voxel index kernel function, calculates concurrently voxel index, and concrete steps are as follows:
Step 4.2.1: scan concurrently all voxels, calculate voxel index;
Step 4.2.2: according to voxel index inquiry triangle number scale, obtain number of triangles;
Step 4.2.3: if number of triangles is 0, triangle flag is made as to 0, otherwise is made as 1.
Described step 5.2 is carried out generating three-dimensional models kernel function, calculates concurrently triangle index, and concrete steps are as follows:
Step 5.2.1: scan concurrently triangle flag packed data, in triangle flag packed data, corresponding one of each value exists leg-of-mutton voxel, according to corresponding voxel index, inquiry triangle position table, obtains limit, triangular apex place;
Step 5.2.2: summit flag prefix corresponding limit, place, summit is write in corresponding triangle index OpenCL buffer object, and writing position is the number of triangles prefix that current voxel is corresponding.
Accompanying drawing explanation
Fig. 1 is the process flow diagram of a kind of Marching Cubes based on OpenCL of the present invention;
Fig. 2 is the schematic diagram of sharing limit in 3-D view between voxel.
Embodiment
Below in conjunction with accompanying drawing and embodiment, the present invention is described in further detail.
Realize Marching Cubes based on OpenCL technology, and select AMD Raedon HD 6850 GPU as OpenCL mobile device.In Marching Cubes, independent of one another in the time of generating three-dimensional models between voxel, therefore can utilize the high concurrency of GPU effectively to shorten working time.The limit of the voxel in 3-D view, actual shared by adjacent multiple voxels, as shown in Figure 2.And in the existing Marching Cubes based on OpenCL, scan concurrently voxel and can repeat to generate the summit existing on shared limit, cause data redundancy.First the present invention scans the limit of voxel, generates contour surface summit, then scans voxel generation contour surface, is keeping eliminating redundant data under the efficient prerequisite of algorithm.
As shown in Figure 1, a kind of Marching Cubes based on OpenCL, runs on the computing machine that OpenCL computing equipment is housed, and comprises the following steps:
Step 1: read head CT 3-D view, initialization OpenCL environment.
Step 1.1: 3-D view is read in internal memory;
Step 1.2: call clGetPlatformIDs () inquiry OpenCL platform, call clCreateContextFromType () and create OpenCL context environmental, call clCreateCommandQueue () and create OpenCL message queue, call clCreateProgramWithSource () and clBuildProgram () compiling OpenCL program, call clCreateKernel () and create OpenCL kernel function;
Step 1.3: call clCreateImage3D () and create OpenCL buffer object, with the 3-D view binding of reading in.
Step 2: the limit of all voxels in scanning three-dimensional image concurrently, judges whether to exist contour surface summit.
Step 2.1: setting contour surface threshold value V is 1150, and this value is gray scale corresponding to bone in CT image;
Step 2.2: be summit flag storage allocation, memory headroom size is the quantity on limit in image, calls clCreateBuffer () and creates OpenCL buffer object and this data binding;
Step 2.3: call clEnqueueNDRangeKernel () and carry out limit scanning kernel function, scan concurrently the limit of all voxels, if two of a limit end points gray-scale values are all greater than or are all less than V in voxel, summit flag corresponding this edge is made as to 0, otherwise is made as 1;
Step 2.4: be summit flag prefix assignment internal memory, memory headroom size is the quantity on limit in image, adopts prefix and algorithm to calculate summit flag prefix, and formula is as follows:
EOS i ?=?EOS i-1 ?+?EO i-1
Wherein EOS is summit flag prefix, and EO is summit flag, and i represents the sequence number on limit in 3-D view, EOS 0get 0;
Step 2.5: be summit flag packed data storage allocation, memory headroom size is the quantity on limit in image, traversal summit flag, if a summit flag is 1, so corresponding summit flag packed data computing formula is as follows:
EOC EOSj =j
Wherein EOC is summit flag packed data, and j represents that j element of summit flag is 1.
Step 3: the coordinate and the normal vector that calculate concurrently contour surface summit.
Step 3.1: be apex coordinate and normal vector storage allocation, memory headroom size is summit last numerical value of flag prefix, calls clCreateBuffer () and creates OpenCL buffer object and two data bindings;
Step 3.2: call clEnqueueNDRangeKernel () and carry out calculating summit kernel function, calculate concurrently coordinate and the normal vector on summit;
Step 3.2.1: scan vertex flag packed data concurrently, in the flag packed data of summit there is the limit on summit in one of each value correspondence, and apex coordinate computing formula is as follows:
C?=?C 0 ?+?(C 1? –?C 0 )?× ?t
t?=?(V?–?V 0 )?/?(V 1 –?V 0 )
Wherein C is contour surface apex coordinate, C 0with C 1for the coordinate of two end points in limit, place, V 0with V 1it is the gray-scale value of two end points;
Step 3.2.2: vertex scheme vector computing formula is as follows:
N?=?N 0 ?+?(N 1 –?N 0 )?×?t
Wherein N 0and N 1for the normal vector of two end points in limit, place, summit, the normal vector of end points calculates and adopts central difference method:
Step 3.2.3: N is carried out to unit computing, C and N are write in corresponding apex coordinate and normal vector OpenCL buffer object, writing position is EOS i.
Step 3.3: call clEnqueueReadBuffer () by apex coordinate and normal vector from the OpenCL buffer object internal memory that reads back.
Step 4 scans all voxels concurrently, calculates voxel index, the number of triangles existing in inquiry voxel.
Step 4.1: be voxel index, number of triangles and triangle flag storage allocation, memory headroom size is voxel number, calls clCreateBuffer () and creates OpenCL buffer object and two data bindings;
Step 4.2: call clEnqueueNDRangeKernel () and carry out calculating voxel index kernel function, calculate concurrently voxel index;
Step 4.2.1: scan concurrently all voxels, calculate voxel index, formula is as follows:
CI?=?P 0 ×2 0 ?+?P 1 ×2 1 ?+?P 2 ×2 2 ?+?P 3 ×2 3 ?+?P 4 ×2 4 ?+?P 5 ×2 5 ?+?P 6 ×2 6 ?+?P 7 ×2 7
Wherein CI is voxel index, P 0to P 7for the gray-scale value on eight summits of voxel;
Step 4.2.2: according to voxel index inquiry triangle number scale, obtain number of triangles, triangle number scale, with reference to the triTable in http://paulbourke.net/geometry/polygonise/, provides the corresponding number of triangles of different value voxel index;
Step 4.2.3: if number of triangles is 0, triangle flag is made as to 0, otherwise is made as 1.
Step 4.3: be number of triangles prefix and triangle zone bit prefix assignment internal memory, memory headroom size is voxel number, call clCreateBuffer () and create OpenCL buffer object and two data bindings, adopt prefix and algorithm in step 2.4 to calculate number of triangles prefix and triangle zone bit prefix;
Step 4.4: be triangle flag packed data storage allocation, memory headroom size is voxel number, adopts the method diabolo flag of step 2.5 to compress, and obtains triangle flag packed data.
Step 5 is inquired about limit, place, voxel intermediate cam shape summit, generating three-dimensional models concurrently.
Step 5.1: be triangle index assignment internal memory, memory headroom size is last numerical value of triangle flag packed data, calls clCreateBuffer () and creates OpenCL buffer object and its binding;
Step 5.2: call clEnqueueNDRangeKernel () and carry out generating three-dimensional models kernel function, calculate concurrently triangle index;
Step 5.2.1: scan concurrently triangle flag packed data, in triangle flag packed data there is leg-of-mutton voxel in corresponding one of each value, according to corresponding voxel index, inquiry triangle position table, obtain limit, triangular apex place, triangle position table is equally with reference to the triTable in http://paulbourke.net/geometry/polygonise/;
Step 5.2.2: summit flag prefix corresponding limit, place, summit is write in corresponding triangle index OpenCL buffer object, and writing position is the number of triangles prefix that current voxel is corresponding.
Step 5.3: call clEnqueueReadBuffer () by triangle index from the OpenCL buffer object internal memory that reads back.
The foregoing is only the preferred embodiments of the present invention; be not limited to the present invention; for a person skilled in the art; still can modify to the technical scheme in previous embodiment; or part technology is carried out to equivalence and replace, and these modifications or replacement all should belong to the protection domain of claims of the present invention.

Claims (9)

1. the Marching Cubes based on OpenCL, runs on the computing machine that OpenCL computing equipment is housed, and it is characterized in that, comprises the following steps:
Step 1: read 3-D view, initialization OpenCL environment;
Step 2: the limit of all voxels in scanning three-dimensional image concurrently, judges whether to exist contour surface summit;
Step 3: the coordinate and the normal vector that calculate concurrently contour surface summit;
Step 4: scan concurrently all voxels, calculate voxel index, the number of triangles existing in inquiry voxel;
Step 5: inquire about concurrently limit, place, voxel intermediate cam shape summit, generating three-dimensional models.
2. the Marching Cubes based on OpenCL according to claim 1, is characterized in that, described step 1 reads 3-D view, initialization OpenCL environment, and concrete steps are as follows:
Step 1.1: 3-D view is read in internal memory;
Step 1.2: inquiry OpenCL platform, create OpenCL context environmental, create OpenCL message queue, compiling OpenCL program, creates OpenCL kernel function;
Step 1.3: create OpenCL buffer object, with the 3-D view binding of reading in.
3. the Marching Cubes based on OpenCL according to claim 1, is characterized in that, described step 2 is the limit of all voxels in scanning three-dimensional image concurrently, judges whether to exist contour surface summit, and concrete steps are as follows:
Step 2.1: set contour surface threshold value V;
Step 2.2: be summit flag storage allocation, create OpenCL buffer object and this data binding;
Step 2.3: carry out limit scanning kernel function, scan concurrently the limit of all voxels, if two of a limit end points gray-scale values are all greater than or are all less than V in voxel, summit flag corresponding this edge is made as to 0, otherwise is made as 1;
Step 2.4: be summit flag prefix assignment internal memory, adopt prefix and algorithm to calculate summit flag prefix, formula is as follows:
EOS i ?=?EOS i-1 ?+?EO i-1
Wherein EOS is summit flag prefix, and EO is summit flag, and i represents the sequence number on limit in 3-D view, EOS 0get 0;
Step 2.5: be summit flag packed data storage allocation, traversal summit flag, if a summit flag is 1, so corresponding summit flag packed data computing formula is as follows:
EOC EOSj =j
Wherein EOC is summit flag packed data, and j represents that j element of summit flag is 1.
4. the Marching Cubes based on OpenCL according to claim 1, is characterized in that, described step 3 is calculated coordinate and the normal vector on contour surface summit concurrently, and concrete steps are as follows:
Step 3.1: be apex coordinate and normal vector storage allocation, create OpenCL buffer object and two data bindings;
Step 3.2: carry out and calculate summit kernel function, calculate concurrently coordinate and the normal vector on summit;
Step 3.3: by apex coordinate and normal vector from the OpenCL buffer object internal memory that reads back.
5. the Marching Cubes based on OpenCL according to claim 1, is characterized in that, described step 4 scans all voxels concurrently, calculates voxel index, the number of triangles existing in inquiry voxel, and concrete steps are as follows:
Step 4.1: be voxel index, number of triangles and triangle flag storage allocation, create OpenCL buffer object and two data bindings;
Step 4.2: carry out and calculate voxel index kernel function, calculate concurrently voxel index;
Step 4.3: be number of triangles prefix and triangle zone bit prefix assignment internal memory, create OpenCL buffer object and two data bindings, adopt prefix and algorithm in step 2.4 to calculate number of triangles prefix and triangle zone bit prefix;
Step 4.4: be triangle flag packed data storage allocation, adopt the method diabolo flag of step 2.5 to compress, obtain triangle flag packed data.
6. the Marching Cubes based on OpenCL according to claim 1, is characterized in that, described step 5 is inquired about limit, place, voxel intermediate cam shape summit concurrently, generating three-dimensional models, and concrete steps are as follows:
Step 5.1: be triangle index assignment internal memory, create OpenCL buffer object and its binding;
Step 5.2: carry out generating three-dimensional models kernel function, calculate concurrently triangle index;
Step 5.3: by triangle index from the OpenCL buffer object internal memory that reads back.
7. step 3.2 according to claim 4, carries out and calculates summit kernel function, calculates concurrently coordinate and the normal vector on summit, it is characterized in that, concrete steps are as follows:
Step 3.2.1: scan vertex flag packed data concurrently, in the flag packed data of summit there is the limit on summit in one of each value correspondence, and apex coordinate computing formula is as follows:
C?=?C 0 ?+?(C 1? –?C 0 )?× ?t
t?=?(V?–?V 0 )?/?(V 1 –?V 0 )
Wherein C is contour surface apex coordinate, C 0with C 1for the coordinate of two end points in limit, place, V 0with V 1it is the gray-scale value of two end points;
Step 3.2.2: vertex scheme vector computing formula is as follows:
N?=?N 0 ?+?(N 1 –?N 0 )?×?t
Wherein N 0and N 1for the normal vector of two end points in limit, place, summit, the normal vector of end points calculates and adopts central difference method;
Step 3.2.3: N is carried out to unit computing, C and N are write in corresponding apex coordinate and normal vector OpenCL buffer object, writing position is EOS i.
8. step 4.2 according to claim 5, carries out and calculates voxel index kernel function, calculates concurrently voxel index, it is characterized in that, concrete steps are as follows:
Step 4.2.1: scan concurrently all voxels, calculate voxel index, formula is as follows:
CI?=?P 0 ×2 0 ?+?P 1 ×2 1 ?+?P 2 ×2 2 ?+?P 3 ×2 3 ?+?P 4 ×2 4 ?+?P 5 ×2 5 ?+?P 6 ×2 6 ?+?P 7 ×2 7
Wherein CI is voxel index, P 0to P 7for the gray-scale value on eight summits of voxel;
Step 4.2.2: according to voxel index inquiry triangle number scale, obtain number of triangles;
Step 4.2.3: if number of triangles is 0, triangle flag is made as to 0, otherwise is made as 1.
9. step 5.2 according to claim 6, carries out generating three-dimensional models kernel function, calculates concurrently triangle index, it is characterized in that, concrete steps are as follows:
Step 5.2.1: scan concurrently triangle flag packed data, in triangle flag packed data, corresponding one of each value exists leg-of-mutton voxel, according to corresponding voxel index, inquiry triangle position table, obtains limit, triangular apex place;
Step 5.2.2: summit flag prefix corresponding limit, place, summit is write in corresponding triangle index OpenCL buffer object, and writing position is the number of triangles prefix that current voxel is corresponding.
CN201410116588.7A 2014-03-27 2014-03-27 OpenCL (Open Computing Language)-based marching cube method Pending CN103824328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410116588.7A CN103824328A (en) 2014-03-27 2014-03-27 OpenCL (Open Computing Language)-based marching cube method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410116588.7A CN103824328A (en) 2014-03-27 2014-03-27 OpenCL (Open Computing Language)-based marching cube method

Publications (1)

Publication Number Publication Date
CN103824328A true CN103824328A (en) 2014-05-28

Family

ID=50759367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410116588.7A Pending CN103824328A (en) 2014-03-27 2014-03-27 OpenCL (Open Computing Language)-based marching cube method

Country Status (1)

Country Link
CN (1) CN103824328A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570930A (en) * 2016-10-08 2017-04-19 中国海洋大学 Digital biological organism modeling method based on three-dimensional super voxel description
CN107895364A (en) * 2017-10-31 2018-04-10 哈尔滨理工大学 A kind of three-dimensional reconstruction system for the preoperative planning of virtual operation
CN108510580A (en) * 2018-03-28 2018-09-07 哈尔滨理工大学 A kind of vertebra CT image three-dimensional visualization methods
CN109934922A (en) * 2019-03-14 2019-06-25 哈尔滨理工大学 A kind of three-dimensional rebuilding method based on improvement MC algorithm
US10366534B2 (en) 2015-06-10 2019-07-30 Microsoft Technology Licensing, Llc Selective surface mesh regeneration for 3-dimensional renderings

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366534B2 (en) 2015-06-10 2019-07-30 Microsoft Technology Licensing, Llc Selective surface mesh regeneration for 3-dimensional renderings
CN106570930A (en) * 2016-10-08 2017-04-19 中国海洋大学 Digital biological organism modeling method based on three-dimensional super voxel description
CN107895364A (en) * 2017-10-31 2018-04-10 哈尔滨理工大学 A kind of three-dimensional reconstruction system for the preoperative planning of virtual operation
CN107895364B (en) * 2017-10-31 2019-06-14 哈尔滨理工大学 A kind of three-dimensional reconstruction system for the preoperative planning of virtual operation
CN108510580A (en) * 2018-03-28 2018-09-07 哈尔滨理工大学 A kind of vertebra CT image three-dimensional visualization methods
CN109934922A (en) * 2019-03-14 2019-06-25 哈尔滨理工大学 A kind of three-dimensional rebuilding method based on improvement MC algorithm

Similar Documents

Publication Publication Date Title
CN109003325B (en) Three-dimensional reconstruction method, medium, device and computing equipment
JP7142162B2 (en) Posture variation 3D facial attribute generation
Nießner et al. Feature-adaptive GPU rendering of Catmull-Clark subdivision surfaces
US8270704B2 (en) Method and apparatus for reconstructing 3D shape model of object by using multi-view image information
US9342924B2 (en) Conservative cell and portal graph generation
CN103824328A (en) OpenCL (Open Computing Language)-based marching cube method
JP6017698B2 (en) Vertex order in the mosaic unit
US8576225B2 (en) Seamless fracture in a production pipeline
US7843463B1 (en) System and method for bump mapping setup
CN107464286B (en) Method, device, equipment and readable medium for repairing holes in three-dimensional city model
CN102147930A (en) Texture mapping method for three-dimensional curved surface of irregular plant leaf
CN108053483A (en) A kind of Wei Nuotu three-dimensional grid reconstructing methods accelerated based on GPU
CN105122310A (en) Intra-frame timestamps for tile-based rendering
CN107038745A (en) A kind of 3D tourist sights roaming interaction method and device
Ripolles et al. Real-time tessellation of terrain on graphics hardware
CN117280387A (en) Displacement micro-grid for ray and path tracing
Archirapatkave et al. GPGPU acceleration algorithm for medical image reconstruction
CN111382618A (en) Illumination detection method, device, equipment and storage medium for face image
CN102831634A (en) Efficient accurate general soft shadow generation method
Eisenacher et al. Real-time view-dependent rendering of parametric surfaces
Gu et al. Ue4-nerf: Neural radiance field for real-time rendering of large-scale scene
US11100707B2 (en) Computer graphics method for terrain rendering
CN103150711A (en) Open computing language (OpenCL)-based image repair method
US20220319097A1 (en) Ray-guided water caustics
Schvartzman et al. Bounded normal trees for reduced deformations of triangulated surfaces

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140528