基于骨架模型的植物根系三维构型可视化方法
2014-12-23李骈臻周学成张常玲李一海
李骈臻,周学成,2+,张常玲,李一海,严 慧
(1.华南农业大学 工程学院,广东 广州510642;2.华南农业大学 南方农业机械与装备关键技术教育部重点实验室,广东 广州510642)
0 引 言
根系在介质空间中的形态分布状况,即三维构型,很大部分决定了其吸收水分和养分的空间范围及其同其它植物根系的竞争能力。因此,准确观测和分析植物根系的三维构型对理解和改善植物根系吸收水分和养分的能力具有十分重要的意义。然而,其生长环境的特殊性及其构型的复杂性使得传统的根系测量工具和测量方法难以实现对植物根系进行原位、快速、无损的三维观测和准确分析。
随着基于射线计算机体层成像的无损检测技术的发展,计算机层析成像技术已被应用于水果品质检测、木材内部探伤等领域[1,2]。基于计算机层析成像技术的植物根系构型的原位检测方法是近年来兴起的一个新的研究方向。南方农业机械与装备关键技术教育部重点实验室通过对植物根系原位成像方法[3]、根系CT 序列图像处理与分析方法[4]以及三维可视化技术[5]进行了一系列的研究和探索,实现了对生长在土壤等介质环境中的植物根系进行原位、三维可视化观测。其中,植物根系的三维可视化模型采用了科学可视化方法中经典的移动立方体 (marching cubes,MC)重建算法,通过三维分割数据集中的区域边界数据构建植物根系表面的三角网格,然后通过可视化渲染处理形成根系的三维表面模型。这种三维表面模型的构建主要目的在于对象的三维可视化,所以很少考虑对数据的后期利用和分析。不仅数据量大、渲染速度慢,而且由于模型本身缺少直接的根系基础数据 (如节点位置、特征参数等)和必要的拓扑关系,因此难以满足对根系构型进行定量检测和分析的需要。
针对上述问题,本文提出一种利用断层重建的后处理图像,通过根区检测提取其骨架模型,利用骨架模型的连通性,确定根系的各分支的拓扑关系。对骨架模型进行重采样,提取出根系的稀疏云点骨架模型。本文利用了基于OpenGL着色语言 (OpenGL shading language,GLSL)编写蒙皮 (skinning)的骨架模型渲染方法对稀疏云点模型进行可视化,利用GPU 提高了可视化模型的渲染速度,达到较好的交互测量和显示效果。
1 根系骨架模型提取
利用骨架表示图像可以保留图像的拓扑结构,减少冗余信息[6]。图像的骨架化通常需要满足3个特征:①连通性;②中心性;③细化性。三者定义请参见文献 [7]。此外,骨架线还应具有一定的光滑性,而且一种好的骨架化算法应具有较快的处理速度和较强的抗噪性能。
近年来,国内外学者提出了多种骨架化的算法,主要类型包括:基于细化的骨架化方法[8]、基于距离变换的骨架化方法[9]、基于路径规划的骨架化方法[10]及基于snake模型的骨架化方法[7]。其中基于细化的骨架化方法是目前三维骨架化中研究最多、最成熟的方法,基于细化的骨架化方法是根据骨架连通性条件,剔除体数据中的边界点,直到不能删除为止。路径规划的骨架化通常是指人为选定一个路径起始点,通过路径最短原则,把两点连接起来。最终形成一条路径,经过多次交互,找出最终骨架模型。考虑到算法速度和本研究骨架化数据源于为层析分割数据的特点,本文提出通过结合根区中心检测和路径规划找出根系骨架模型。具体算法流程如下:
步骤1 利用原始切片图像分割处理[11]后得到二值化切片图像,如图1 (a)所示,通过根区检测找出其中心,限定中心位于分割区域内的点作为根系中心,记录其根区面积作为后续骨架连通依据。典型的检测效果,如图1 (b)所示,检测到的根区中心用点标示。对根系整体检测的可视化结果,如图1 (c)所示。
图1 根系中心点获取算法效果
步骤2 通过限定路径范围搜索连接点的最短路径,确定下层根心点与上层根心点的连接关系。连接关系通过满足以下两个搜索条件获得:①点之间距离小于给定阈值,被认为是候选连接点;②由于根心线必定在体数据内,所以通过判定连接线是否在体数据内,进一步限定路径的搜索范围。同时记录层与层之间连接点的拓扑关系信息。原理如图2所示,图中显示相邻3张平行切片图像根区间的连接情况。满足长度条件和连接线在体数据内的连接线用实线标示出来,不满足者用虚线标示出来。
图2 层间连接点的判断原理
步骤3 根据步骤2的计算结果,利用拓扑关系信息和根系点数据,绘制的骨架模型如图3 (b)所示,原始根系数据的表面重建图像如图3 (a)所示。
图3 形成骨架对比效果
由图3可以看出,提取出来的骨架模型可以较好地体现出原始根系数据的拓扑关系。但由于原始数据点点数较多,在向地生长的根段上连接点之间的距离太短,基本上就是一个层厚的大小,对后续交互会产生信息冗余效应,而且对可视化渲染速度也有影响。本文提出一种基于稀疏云点骨架模型的根系可视化方法,极大的提高了渲染速度和交互效果。
2 骨架稀疏云点模型
2.1 稀疏云点模型建立及其蒙皮处理
利用根系拓扑模型,重新渲染出根系,对根系模拟生长可视化、交互测量具有重要意义。由于上述得到的骨架模型数据量比较大,所以,必须对其进行重采样,减少需要拟合的数据。重采样原则为空间点之间距离必须满足大于给定距离。实验中给定距离为层厚的4 倍。对图3 (b)中的骨架模型重采样的点数据可视化如图4所示。对比原始点数据,如图1 (c)所示,需要进行拟合的点数由986减少为180个。
图4 重采样点数据可视化效果
针对稀疏云点模型的可视化,本文利用三维仿生模型中常用的渲染技巧蒙皮 (skinning)[12,13]来达到比较好的稀疏云点渲染效果。在三维软件中创建的模型基础上,为模型添加骨架。由于骨架与模型是相互独立的,为了让骨架驱动模型产生合理的运动。这种把模型绑定到骨架上的技术叫做蒙皮。蒙皮是将骨架控制模型的形态节点,达到合理的绑定效果,所谓的形态节点就是外部轮廓。对于单关节模型的蒙皮示例如图5所示。
由图5 (a)可以看出,单关节模型的简单拟合模型在两个连接臂的轴向不同的情况下,会产生断裂现象,这是在实际根系连接中不会出现的。如图5 (b)所示,当模型使用蒙皮方式渲染后,整个关节模型感觉被一层皮肤绑定,两个轴向不同的连接臂光滑连接。因此,使用蒙皮方法渲染骨架模型可以更好地放映真实根段之间光滑连接的情况。
图5 单关节模型的蒙皮效果对比
2.2 分支蒙皮原理
在实际根系模型中,很少出现单根的情况,根系分支数一般为2,但由于CT 断层图像层厚和精度的限制,比较细小根系甚至会出现3个或3个以上的分支。利用蒙皮光滑算法,每一个顶点可以连接到一个以上的分支点,而且具有可调节的权重,用以控制每一个连接的分支对它的影响。对于多分支蒙皮。采用式 (1)计算出蒙皮模型的顶点位置
式中:n——分支数,ωi——第i个分支的连接权重,权值总和满足式 (2),权值大小满足式 (3),即为凸平均。具体权值大小通过计算各分支端点截面与总截面的比值决定,Mi是第i个分支的绑定矩阵,v是原始的圆台模型在各个分支坐标中的顶点位置数据,v′是经过蒙皮后的模型顶点位置数据
关于绑定矩阵的计算,对于多分支蒙皮,各个分支对顶点都有一个变换的影响,但又不能把一个点定义为多个局部的点。所以,必须首先把分支点的局部坐标点转换为关于关节的局部坐标点,然后把它们变换到世界坐标系中。为此,对于每一个分支点定义一个绑定矩阵,它定义了分支的位置,并且用它的转置的逆矩阵B-1i与世界坐标变换矩阵Wi左乘得到
对于分支蒙皮,为了计算阴影,必须按照位置对发向量进行混合,需要对这些法向量进行重新归一化
式 中:n——分 支 数,ωi——第i 个 分 支 的 连 接 权 重,Mi——第i个分支的绑定矩阵,n——原始的圆台模型在各个分支坐标中的顶点的法向量,n′——经过转换后的混合顶点法向量。
一个具有9个节点的稀疏云点模拟模型数据的蒙皮效果对比如图6所示。
图6 稀疏云点模拟模型的蒙皮效果对比
由图6可以看出,稀疏云点模型蒙皮拟合较圆台拟合效果好。消除了简单圆台拟合关节所造成的断裂现象。对于根系的整个形态的可视化更加自然。
3 实验与讨论
本文在Visual Studio 2010下利用C++进行实验平台的程序编写。通过结合MFC (Microsoft foundation class)和OpenGL3.3编写出操作界面。蒙皮通过OpenGL 着色器语言 (GLSL)利用GPU 加快渲染速度。主机CPU 型号为四核I5-3470,GPU 型号为ATI Radeon HD 7400。
图7中子图分别为真实根系简单圆台拟合图 (a)及其面绘制图 (b)和点绘制图 (c)局部放大图,蒙皮效果图(d)及其面绘制图 (e)和点绘制图 (f)局部放大图。
由图7可以看出,根系渲染的细节比圆台拟合更好,消除了根段之间的断裂现象,可视化模型更具有整体性,显示效果更接近真实根系形状。
在算法速度测试中,分别用不同点数的模拟模型对简单圆台拟合的模型,利用CPU 处理的蒙皮模型和利用GPU 加速的蒙皮模型进行旋转渲染测试,测试结果见表1。
表1 算法速度对比结果
由算法速度对比测试结果可以看出,对于稀疏云点模型的蒙皮。利用GPU 可以得到比较理想的效果。进一步对比利用GPU 加速的MC算法[14],对于512*512*208的相同根系体数据进行表面绘制,等值取0.3,渲染三角面片数为182360,只有7.43fps。实验表明,基于稀疏云点模型的蒙皮绘制可以达到更高的帧率,为后续交互测量提供更好的可视化模型。
交互测量效果如图8所示,红色点为交互选择点。左侧面板可以选择实时渲染的参数,右侧面板可以切换交互模式 (拾取模式或模型拖动模式)。拾取点的信息,包含分支向地角,截面积大小等显示于右侧面板。
图7 真实根系蒙皮绘制效果对比
图8 典型拾取分析效果
在界面程序中,模型拖动和点拾取交互都很流畅地运行,没有出现画面延时停滞的情况。采用了穿刺取点的拾取算法,解决了堆叠情况下的点拾取问题,具有良好的拾取体验。
4 结束语
本文通过建立根系稀疏云点骨架模型,提出由原始切片数据对根系进行建模并三维可视化的新方法,并通过实验验证了这种方法可行性。相对于传统的表面模型,这种改进的骨架模型不仅能够有效地降低数据量、提高可视化渲染速度,而且为后续对根系的交互测量和定量分析提供了较好的数据基础。下一步研究工作主要集中在进一步完善模型的交互功能和基于模型的定量分析方法。
[1]SHAN Haibin,LIU Xing’e,YANG Shumin,et al.Applications and development of CT in the wood non-destructive testing[J].Journal of Zhejiang A&F University,2013 (1):123-128(in Chinese).[单海斌,刘杏娥,杨淑敏,等.计算机断层扫描技术 (CT)在木材无损检测中的应用与发展 [J].浙江农林大学学报,2013 (1):123-128.]
[2]HUANG Taotao,SUN Teng,ZHANG Jingping.Non-destructive detection of internal quality of apple based on CT image[J].Journal of Zhejiang University (Agric &Life Sci),2013,39 (1):92-97 (in Chinese).[黄滔滔,孙腾,张京平.基于CT 图像的苹果内部品质无损检测 [J].浙江大学学报:农业与生命科学版,2013,39 (1):92-97.]
[3]ZHOU Xuecheng,LUO Xiwen.3Dvisualization of root system in situ based on XCT technology[J].Transactions of the Chinese Society for Agricultural Machinery,2009 (40):202-205 (in Chinese).[周学成,罗锡文.基于XCT 技术的原位根系三维可视化研究[J].农业机械学报,2009 (40):202-205.]
[4]ZHOU Xuecheng,LUO Xiwen,YAN Xiaolong,et al.A fuzzy thresholding segmentation for plant root CT images based on genetic algorithm [J].Journal of Image and Graphics,2009,14 (4):681-687 (in Chinese). [周学成,罗锡文,严小龙,等.基于遗传算法的原位根系CT 图像的模糊阈值分割[J].中国图象图形学报,2009,14 (4):681-687.]
[5]CHEN Yugan,ZHOU Xuecheng,LUO Xiwen,et al.3Dvisualization of plant root in situ based on ITK&VTK [C]//CSAE,2011:403-409 (in Chinese). [陈郁淦,周学成,罗锡文,等.基于ITK 和VTK 的原位根系三维可视化研究[C]//中国农业工程学会,2011:403-409.]
[6]CHEN Gang,LV Xuan,WANG Zhicheng,et al.Vessel skeletonization method for lung CT image[J].Computer Science,2013,40 (5):274-278 (in Chinese).[陈刚,吕煊,王志成,等.肺CT 图像的血管骨架化方法 [J].计算机科学,2013,40 (5):274-278.]
[7]TIAN Xuhong,HAN Guoqiang,SITU Zhiyuan,et al.3D image skeletonization based on B-snake [J].Computer Sicience,2008,35 (9):241-265 (in Chinese).[田绪红,韩国强,司徒志远,等.基于B-Snake 的三维图像骨架化方法[J].计算机科学,2008,35 (9):241-244.]
[8]Daniel Cremers,Mikael Rousson,Rachid Deriche.A review of statistical approaches to level set segmentation:Integrating color,texture,motion and shape[J].International Journal of Computer Vision,2007,72 (2):195-215.
[9]XU Chao,XIAO Xiao,LUO Yan,et al.New skeleton extraction method based on distance transform [J].Chinese Journal of Scientific Instrument,2012,33 (12):2851-2856 (in Chinese). [徐超,肖潇,骆燕,等.基于距离变换的新型骨架提取方法 [J].仪器仪表学报,2013,33 (12):2851-2856.]
[10]Narayanaswamy A,Dwarakapuram S,Bjornsson C S,et al.Robust adaptive 3-D segmentation of vessel laminae from fluorescence confocal microscope images and parallel GPU implementation [J].IEEE Transactions on Medical Imaging,2010,29 (3):583-597.
[11]CHEN Yugan,ZHOU Xuecheng,LE Kai.Method for region growing segmentation of plant root CT image sequences[J].Computer Engineering and Applications,2011,47(28):158-160 (in Chinese).[陈郁淦,周学成,乐凯.根系CT 序列图像区域生长分割的新方法 [J].计算机工程与应用,2011,47 (28):158-161.]
[12]Xu T,Chen M,Xie M,et al.A skinning method in realtime skeletal character animation [J].International Journal of Virtual Reality,2011,10 (3).
[13]Andreas Vasilakis,Ioannis Fudos.Skeleton-based rigid skinning for character animation [J].Computer Graphics Theory and Applications,2009:120-129.
[14]CHEN Yonghua.Study on the techniques for 3Dvisualization of medical images based on CUDA [D].Chengdu:Southwest Jiaotong University,2013:27-29 (in Chinese). [程咏华.基于CUDA 的医学图像3D 可视化技术的研究 [D].成都:西南交通大学,2013:27-29]