CN105825471A - 一种基于Unity 3D的三维体表面重构与渲染方法 - Google Patents
一种基于Unity 3D的三维体表面重构与渲染方法 Download PDFInfo
- Publication number
- CN105825471A CN105825471A CN201610141651.1A CN201610141651A CN105825471A CN 105825471 A CN105825471 A CN 105825471A CN 201610141651 A CN201610141651 A CN 201610141651A CN 105825471 A CN105825471 A CN 105825471A
- Authority
- CN
- China
- Prior art keywords
- mesh
- unity3d
- dimensional
- volume data
- rendering
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000009877 rendering Methods 0.000 title claims abstract description 18
- 238000005286 illumination Methods 0.000 claims abstract description 6
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000005481 NMR spectroscopy Methods 0.000 claims description 3
- 238000003325 tomography Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 claims 2
- 241001269238 Data Species 0.000 claims 1
- 230000003068 static effect Effects 0.000 claims 1
- 238000010146 3D printing Methods 0.000 abstract 1
- 239000003086 colorant Substances 0.000 abstract 1
- 230000000007 visual effect Effects 0.000 abstract 1
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241000581364 Clinitrachus argentatus Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000004141 dimensional analysis Methods 0.000 description 1
- 238000003913 materials processing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Image Generation (AREA)
Abstract
本专利提出了一种基于Unity 3D的三维体表面重构与渲染新方法,专利成果可适用于3D打印。本方法专利的技术主要步骤如下:(1)目标物体三维图像采集和处理,本专利采用切片断层扫描,然后利用拉普拉斯算子得到目标物体曲面边缘数据;(2)三维目标物体表面数据重构,通过线性插值方法计算等值点的位置,通过中心差分方法计算出等值点的法向量,利用三角网格化计算等值点相应表面数据;(3)目标物体的表面渲染,在Unity 3D下读入目标物体三维表面数据,选择光照,色彩等指标对重构三维物体表面渲染。大量的实验证明,这种三维重构和渲染方法是十分有效,得到的结果在立体感和视觉效果上强于现有的技术方法。
Description
本发明主要是对二维图像进行三维图形重构和渲染的新技术,具体涉及一种基于Unity3D的MarchingCubes重构方法和Mesh渲染技术。
背景技术
三维重构是计算机视觉技术研究的主要内容之一,应用在工程技术和其他很多领域。一般要对物体进行三维分析,从而得到对研究或展示的有用信息。基于二维图像三维重构技术的研究具有重要现实意义,而且具有广阔的应用范围,包括考古学,建筑学,以及材料加工,工业检测以及医疗成像设备等领域。
当前的三维重构方法大致可以分为两类:一种是体绘制方法,另一种是表面绘制方法。虽然这两种方法都是用于三维重构的研究,但这两种方法的侧重点并不相同。体绘制方法是一种直接由三维数据场产生屏幕上二维图像的技术。而表面绘制是根据三维数据场,计算得到表面体数据,再绘制表面。体绘制比表面绘制计算量更大,计算时间更长,限制了图像绘制速度,主要原因是其贡献了内部信息的呈现。
在表面绘制方法中,已经有不少专家做了探索。1987年,Lorensen和Cline提出了一种Marchingcubes的表面重构方法。1992年,Nielson和Hamann等人提出了利用渐近线判别解决MarchingCubes存在的歧义问题。2003年,Lopes等人一种基于MarchingCubes的改进算法,即增加目标等值面的逼近点来绘制更精确的表面。上述方法虽然取得了不错的效果,但没有应用在Unity3D上,使绘制结果展现更逼真。
发明内容
本发明的目的在于提出一种基于Unity3D三维体体表面重构与渲染方法,以提高三维绘制的展现效果。在该发明中,用户提供输入目标断层图像,就可让计算机进行分析,最终获得三维重构结果。
本发明的技术方案如下:
步骤1,使用计算机断层技术(CT)或磁共振成像(MRI)对目标物体进行扫描,获得多张断层BMP格式图片。
步骤2,使用MarchingCubes技术对步骤1的多张图片作为输入,在MarchingCubes中加入自动识别目标的边界得到阈值。识别的原则是当图片灰度变化时,灰度的一阶方向导数在局部最大,或二阶导数为零,即阶梯型边缘曲面上的Laplacian函数值为零。
步骤3,MarchingCubes算法根据阈值计算,获得三维空间体表面的数据。
步骤4,在Unity3D中对步骤3中获得的三维空间体数据进行访问,获得三维空间体数据进行实例化。
步骤5,利用Unity3D下的Mesh网格技术以步骤4中得到的三维空间体数据作为Mesh的Vertices属性和Normals的输入,并自适应分配满足体数据需要Mesh网格数量。
步骤6,将Unity3D下的mesh进行光照,颜色,纹理等渲染,绘制完成。
附图说明
读者在参照附图阅读了本发明的具体实施方式以后,将会更清楚地了解本发明的各个方面。其中,
图1为本发明基于Unity3D三维体表面重构与渲染方法的流程图;
图2为本发明步骤3到步骤8的重要过程的过程图;
图3为本发明步骤6中提到的33种立方体表面绘制情况展示图;
图4是根据数学公式模拟出的断层切片图片,用本方法在Unity3D下展示的结果图。
具体实施方式
步骤1,使用计算机断层技术(CT)或磁共振成像(MRI)对目标物体进行扫描,获得多张断层BMP格式图片。
步骤2,使用MovingCubes技术对步骤一的多张图片作为输入,在MovingCubes中加入自动识别目标的边界得到阈值。识别的原则是当图片灰度变化时,灰度的一阶方向导数在局部最大,或二阶导数为零,即阶梯型边缘曲面上的Laplacian函数值为零。Laplacian公式如下:
步骤3,MarchingCubes算法。根据步骤1的多张断层切片图,依次选取相邻两张切片图。再依次选取这两张图片中的相邻四个像素点,构成空间立方体。对这立方体的八个顶点Vi(i=1,2,3,4,5,6,7,8),构建顶点状态:
其中Vi表示在立方体的顶点像素值,R表示步骤2所算的边界阈值,即目标物体的边界像素阈值。SVi=0,则表示该立方体顶点在目标外围,反之,则表示该立方体顶点在目标内部。
步骤4,根据其立方体的顶点状态,判断目标等值面与此立方体某条棱线是否有相交,判断如下:
Li表示立方体的第i条棱,SV0,SV1表示这条棱上的两个顶点的状态,当顶点状态一样则表示,两顶点都在目标等值表面的里头或外头,否则,表示该棱与等值表面有一条交线。
步骤5,现知道是否有交线后可以算交点的位置,此交点就是在等值面上的等值点。如果一个单位长度边E的端点V1和V0的标量像素值分别为L1和L0,那么对固定的阈值R,交点位置I=(Ix,Iy,Iz)计算公式如下:
I{x,y,z}=V0{x,y,z}+ρ(V1{x,y,z}–V0{x,y,z})(4)
式中,ρ=(α–L0)/(L1–L0)。
得到公式(4)所计算的交点后,还要计算交点处的法向量,体数据就包含了交点及交点处的法向量。
在立方体中由梯度来表示法向量,计算规则:令f(i,j,k)表示图像在三维规则网格采样点(i,j,k)处的灰度值,那么在各个方向的梯度可以有中心差分简单估算,如下公式:
即(x,y,z)处的梯度向量是{Gx,Gy,Gz},梯度大小是
步骤6,MarchingCubes的立方体有八个顶点,每个顶点都有可能在目标内部或外部或目标等值面上,所有立方体的交点连线方式总共有28种,通过旋转对称,消除重复的情况,最终只剩33种,MarchingCubes提前建立离线索引表,只要得到步骤6所计算得到的交点,就能查找索引表,把所计算的所有交点,三个交点相连接即三角化,来逼近目标等值面。
步骤7,我们在Unity3D下获取步骤6的所有交点及其连接方式,用Mesh网格按规则输入到Vertices和Normals中进行重构三维表面。
Unity3D下一Mesh网格最多可以绘制65000个顶点的面片,在这里需要对输入的体数据进行分段绘制,最终组合起来的Mesh网格完整了展示了目标表面。
步骤8,对Unity3D下Mesh网格进行进行光照,颜色,纹理等渲染,绘制完成。
Claims (3)
1.一种基于Unity3D的三维体表面重构与渲染方法,其特征在于:在重构三维图形时,进行以下步骤:
步骤1,使用计算机断层技术(CT)或磁共振成像(MRI)对目标物体进行扫描,获得多张断层BMP格式图片;
步骤2,使用MovingCubes技术对步骤1的多张图片作为输入,从而获得目标物体表面的三维空间体数据;
步骤3,在Unity3D中对步骤2中获得的目标表面三维空间体数据进行访问,并对体数据进行实例化;
步骤4,利用Unity3D下的Mesh网格技术自适应分批次对步骤3中得到的三维空间体数据作为Mesh的Vertices属性和Normals属性的输入;
步骤5,将Unity3D下的Mesh网格进行光照,颜色,纹理等渲染,绘制完成。
2.根据权利要求1所述的Unity3D的三维体表面重构与渲染方法,其特征在于:步骤4所述的自适应分批次处理体数据是由于,一个Mesh网格面片最大支持的Vertices个数为65000个,而一般重构目标的体数据中Vertices远多于这个数量,故程序首先建立长度为10的静态Mesh数组,依次对每个Mesh对象按顺序输入Vertices和Normals属性值,如果体数据输入10个Mesh后还剩下一些数据没有处理,则动态的分配Mesh,再给其输入数据,直到所有体数据处理完毕,上面提到的数字10是实验得到的保持效率最好的数值。
3.根据权利要求1所述的Unity3D的三维体表面重构与渲染方法,其特征在于:步骤5所述的进行光照,颜色,纹理等渲染方法为,Unity3D重构目标后,对重构结果进行展示,添加DirectionalLight光照模型,以提供光亮让重构结果可以反射光。另外给Mesh面片都添加Materials,使用Unity3D库中已有的Shader或者自己编写Shader代码来调节Mesh面片的颜色,调节颜色的主要属性有MainColor和SpecularColor,还可以在Shader代码中添加纹理,Select选择最合适的表面纹理,这样绘制结果就更加逼真。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141651.1A CN105825471A (zh) | 2016-03-13 | 2016-03-13 | 一种基于Unity 3D的三维体表面重构与渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610141651.1A CN105825471A (zh) | 2016-03-13 | 2016-03-13 | 一种基于Unity 3D的三维体表面重构与渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105825471A true CN105825471A (zh) | 2016-08-03 |
Family
ID=56988104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610141651.1A Pending CN105825471A (zh) | 2016-03-13 | 2016-03-13 | 一种基于Unity 3D的三维体表面重构与渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105825471A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570930A (zh) * | 2016-10-08 | 2017-04-19 | 中国海洋大学 | 一种基于三维超体素描述的数字化生理生物体建模方法 |
CN106709981A (zh) * | 2016-12-29 | 2017-05-24 | 天津瀚海星云数字科技有限公司 | 一种用于U3D中UI Sprite图片的局部光照方法及系统 |
CN108597590A (zh) * | 2018-05-08 | 2018-09-28 | 上海嘉奥信息科技发展有限公司 | 基于gpu运算的体数据任意断层数据显示方法及系统 |
CN109117804A (zh) * | 2018-08-21 | 2019-01-01 | 福州智永信息科技有限公司 | 一种基于Unity 3D的移动设备的文字临摹方法 |
CN109308735A (zh) * | 2018-08-20 | 2019-02-05 | 上海嘉奥信息科技发展有限公司 | 基于Unity3D体渲染的数据开洞的方法及其存储介质 |
US11521351B2 (en) | 2017-07-10 | 2022-12-06 | Hewlett-Packard Development Company, L.P. | Associating object property data with locations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007069223A2 (en) * | 2005-12-16 | 2007-06-21 | Philips Intellectual Property & Standards Gmbh | Surface tesselation of shape models |
CN103337093A (zh) * | 2013-06-07 | 2013-10-02 | 国家电网公司 | 一种基于Unity3D着色器实现三维机房实时温场效果的方法 |
CN103780873A (zh) * | 2013-11-28 | 2014-05-07 | 国网四川省电力公司信息通信公司 | 一种变电站视频监控系统实现3d场景显示的方法 |
-
2016
- 2016-03-13 CN CN201610141651.1A patent/CN105825471A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007069223A2 (en) * | 2005-12-16 | 2007-06-21 | Philips Intellectual Property & Standards Gmbh | Surface tesselation of shape models |
CN103337093A (zh) * | 2013-06-07 | 2013-10-02 | 国家电网公司 | 一种基于Unity3D着色器实现三维机房实时温场效果的方法 |
CN103780873A (zh) * | 2013-11-28 | 2014-05-07 | 国网四川省电力公司信息通信公司 | 一种变电站视频监控系统实现3d场景显示的方法 |
Non-Patent Citations (1)
Title |
---|
顾耀林,吕理伟: "《移动立方体算法中的三角剖分》", 《计算机工程与设计》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570930A (zh) * | 2016-10-08 | 2017-04-19 | 中国海洋大学 | 一种基于三维超体素描述的数字化生理生物体建模方法 |
CN106709981A (zh) * | 2016-12-29 | 2017-05-24 | 天津瀚海星云数字科技有限公司 | 一种用于U3D中UI Sprite图片的局部光照方法及系统 |
US11521351B2 (en) | 2017-07-10 | 2022-12-06 | Hewlett-Packard Development Company, L.P. | Associating object property data with locations |
CN108597590A (zh) * | 2018-05-08 | 2018-09-28 | 上海嘉奥信息科技发展有限公司 | 基于gpu运算的体数据任意断层数据显示方法及系统 |
CN109308735A (zh) * | 2018-08-20 | 2019-02-05 | 上海嘉奥信息科技发展有限公司 | 基于Unity3D体渲染的数据开洞的方法及其存储介质 |
CN109117804A (zh) * | 2018-08-21 | 2019-01-01 | 福州智永信息科技有限公司 | 一种基于Unity 3D的移动设备的文字临摹方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105825471A (zh) | 一种基于Unity 3D的三维体表面重构与渲染方法 | |
CN103021017B (zh) | 基于gpu加速的三维场景重建方法 | |
Lawonn et al. | A survey of surface‐based illustrative rendering for visualization | |
CN104616345B (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
CN1716317B (zh) | 滑动纹理的体绘制方法与系统 | |
Schafhitzel et al. | Point-based stream surfaces and path surfaces | |
Meyer et al. | Particle-based sampling and meshing of surfaces in multimaterial volumes | |
Feng et al. | Feature-preserving triangular geometry images for level-of-detail representation of static and skinned meshes | |
CN101996415B (zh) | 眼球的三维建模方法 | |
Nguyen et al. | Geometry completion and detail generation by texture synthesis | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
Meike et al. | Real-time resampling of medical images based on deformed tetrahedral structures for needle insertion vr-simulation | |
CN103745495A (zh) | 基于医学体数据的体绘制方法 | |
Kaufman et al. | A survey of architectures for volume rendering | |
She et al. | An efficient method for rendering linear symbols on 3D terrain using a shader language | |
Li et al. | Approximation of Loop subdivision surfaces for fast rendering | |
Schein et al. | Adaptive extraction and visualization of silhouette curves from volumetric datasets | |
Kuder et al. | Point-based rendering optimization with textured meshes for fast LiDAR visualization | |
Zhou et al. | Rendering interior-filled polygonal vector data in a virtual globe | |
Reis et al. | High-quality rendering of quartic spline surfaces on the GPU | |
Belyaev et al. | Bump Mapping for Isosurface Volume Rendering | |
Madi et al. | Modeling and visualization of layered objects | |
Eichelbaum et al. | Fabric-like visualization of tensor field data on arbitrary surfaces in image space | |
Sun et al. | Research on 3D textured dress geometry modelling | |
Encarnacao et al. | Advanced computer graphics techniques for volume visualization |
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 |
Application publication date: 20160803 |
|
WD01 | Invention patent application deemed withdrawn after publication |