基于GPU硬件加速的Graph Cuts三维图像分割方法技术

技术编号:3810573 阅读:448 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种图像处理技术领域的基于GPU硬件加速的Graph Cuts三维图像分割方法,包括如下步骤:首先,将原始三维图像载入为GPU中的三维纹理,并根据原始图像,调用初始化着色器程序来建立初始图结构,在GPU中生成相应的纹理数据;然后,对纹理数据中的图结构,在GPU着色器程序中进行推进-重标号操作实现最大流最小割的迭代计算,并使用GPU中遮挡查询技术作为迭代结束条件;最后,根据最小割的结果得到分割后的前景区域,并在对应像素上作标记。本发明专利技术在速度上有了明显的提升,适用于三维图像,所提出的Graph Cuts中图结构在GPU中的表示方式,也可以在Graph Cuts的其他应用领域中使用。

【技术实现步骤摘要】

本专利技术涉及一种图像处理
的三维图像分割方法,具体是一种。
技术介绍
图像分割是数字图像处理领域的重要技术,是计算机视觉技术的基础。以往对二维图像分割的研究成果相对较多,而三维图像在医学、工业制造、地质勘探等领域也均有重要应用,因而对三维图像分割的研究,其意义同样重大。Graph Cuts是近年来备受关注的图像分割框架之一,具有很好的精度和灵活性,在实际应用中倍受青睐。Graph Cuts的缺陷在于,由于它将图像分割转化为流网络的最大流最小割问题来解决,所以计算量较大,对于像素数更多的三维图像尤为明显。经对现有技术文献的检索发现,国外有Nandan Dixit等人(Nandan Dixit,Renaud Keriven, Nikos Paragios, "GPU-Cuts: Combinatorial Optimisation,Graphic Processing Units and Adaptive Object Extraction (GPU图割组合优化,图形处理单元与对象分割)",法国信息技术与系统教学与研究中心CERTIS研究报告,2005)提出的利用GPU加速的Graph Cuts图像分割方法,但这种方法只能对二维图像进行分割,而对三维图像的分割无能为力。国内的程广斌等人(程广斌,马承华,郝立巍,"基于图形加速器加速的医学图像分割研究",医疗卫生装备第29巻第2期,2008)利用GPU实现了基于吉布斯随机场(Gibbs random field)的医学图像分割,吉布斯随机场的思想与Graph Cuts类似,但他们的方法仍然局限在二维分割上,无论其数据存储方式还是程序实现,都无法扩展到二维图像分割上。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种利用GPU硬件加速的GraphCuts三维图像分割方法,利用GPU具有高速的实数运算特性和流式并行架构,弥补4现有技术在三维图像支持性和计算效率上的缺陷。 本专利技术是通过以下技术方案实现的本专利技术基于Graph Cuts分割框架精度高、易扩展的优点,在GPU中实现了三维 图像分割。本专利技术利用GPU硬件的高速并行浮点运算特性,通过GPU中的三维纹理 作为数据存储介质,将GPU分割的应用范围从二维扩展到三维。其原理是,对原始 图像建立图结构,并将其存储在GPU的三维纹理数据中,然后在GPU中对图结构求 取最小割。本专利技术包括如下步骤首先,将原始三维图像载入为GPU中的三维纹理,并根据原始图像,调用初始 化着色器程序来建立初始图结构,在GPU中生成相应的纹理数据;然后,对纹理数据中的图结构,在GPU着色器程序中进行推进-重标号操作实现 最大流最小割的迭代计算,并使用GPU中遮挡查询技术作为迭代结束条件;最后,根据最小割的结果得到分割后的前景区域,并在对应像素上作标记。所述的初始图结构,是存储于GPU中的三维纹理,具体是根据原始图像生成 Graph Cuts算法所需要的网络图数据结构,并对这三个纹理进行赋值。其中需要设 定的参量包括每个像素与源点和汇点的连接容量,以及每个像素与x轴、y轴、z 轴共6个方向上的相邻像素的连接容量,初始盈余,以及初始高度函数值。其中, 每个像素/7与源点s的连接容量按下式计算每个像素P与汇点t的连接容量按下式计算色通道图像中即为灰度),p^-J』为两像素颜色差的模,lp-qll为两像素间的距离。脚(^|-&%"〕和~0|^0&/'-)为像素颜色人分别作为背景或前景时的概率,它们的值是通过对用户交互时预先设定的前景和背景像素统计得出;o参数的值可取为全 图像中相邻像素的颜色差的期望,艮P:盈余表示每个像素上入流与出流的差,初始时为0;高度函数表示像素在图中与汇 点间的最短距离,初始时设为l。图结构在GPU中以三个纹理数据的方式进行存储, 其中的数据组织方式见附表l。所述的初始化着色器程序,是指GPU中的一段片元着色器程序。它以对应于原 始三维图像的纹理为输入,输出表示图结构的三个三维纹理,并对这三个纹理进行 赋值。并按照初始图结构中提到的赋值方式向这三个纹理写入数据。所述的推进-重标号算法的GPU实现,具体为利用GPU片元着色器程序,并发地对每个像素作推进或重标号操作。其中,推进操作为首先从源点向像素推流,以 充满源点和像素间的连接边,并更新像素的盈余;然后若像素盈余不为0,则从当 前像素向汇点推进,若像素盈余仍不为0,则将盈余向邻近像素推进。若像素在当 前迭代中没有推进操作,则启动重标号操作将像素的高度函数值更新为= H+ mi^(/i(qr)〗Bp々,c'所述的使用GPU中遮挡查询技术作为迭代结束条件,具体是指,每次迭代过程 中,首先将深度缓存中所有像素的深度值置为0.5,然后对仍需进行迭代计算的像 素,写入深度值0,使其通过GPU的深度测试;而对不需进行迭代计算的像素,写 入深度值l。再利用GPU遮挡查询获得通过深度测试的像素总数,当总数为零时则 结束迭代。所述的根据最小割的结果得到分割后的前景区域,具体是指,将迭代结束后高 度函数值大于设定阈值或盈余大于零的像素归为分割出的前景区域内的像素。本专利技术基于Graph Cuts分割框架精度高,支持三维分割的优点,利用GPU硬件 的高速并行浮点运算特性,弥补了 Graph Cuts三维分割时间效率低的问题,同时也 是对现有Graph Cuts的GPU实现方法向三维上的扩展和改进,所提出的Graph Cuts 中图结构在GPU中的表示方式,也可以在Graph Cuts的其他应用领域中使用。 附图说明图1为对一幅图像建立图结构的示意其中s为虚拟添加的源点,t为虚拟添加的汇点,灰色圆代表图像像素;源 点到像素,像素到汇点,以及相邻像素间有边相连,边的容量分别为Qp, Cw以及虚线代表图的一个割,它将图像中的像素分为两部分,分别为前景像素和背景 像素。图2为基于GPU加速的Graph Cuts分割方法的流程图; 其中,活动像素是指盈余大于0且高度函数值小于一个阈值的像素。 图3为分割前后的对其中某一片图像的二维显示效果图; 其中(a)为分割前的图像,(b)为分割图像。图4为使用本方法对盆腔中的股骨头进行分割前后的三维绘制效果图; 其中(a)为分割前的绘制效果,(b)为分割后对前景和背景部分分别进行绘制再 融合后的效果。具体实施例方式下面结合附图对本专利技术的实施例作详细说明本实施例在以本专利技术技术方案为 前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围 不限于下述的实施例。本实施例首先将原始三维图像载入到GPU中的三维纹理texlmg,并根据该纹理 生成表示图结构的二个纹理texLinkl, texLink2和texTerm,然后使用着色器程序 进行推进-重标号操作来迭代计算图的最小割,迭代结束条件是图中没有活动像素, 最后根据图的最小割得到图像分割结果,并对分割出的像素写入标记。本实施例包括如下步骤1.数据初始化。首先将原始三维图像载入为三维纹理,对于图3、 4中的医学7图像使用LUMINANCE纹理格式;对于彩色图像,使用RGB纹理格式;然后调用用于 初始化操作的GPU片元着色器程序来生成用于存储图结构的纹理数据,该程序的输 入为本文档来自技高网
...

【技术保护点】
一种基于GPU硬件加速的Graph Cuts三维图像分割方法,其特征在于,包括如下步骤: 首先,将原始三维图像载入为GPU中的三维纹理,并根据原始图像,调用初始化着色器程序来建立初始图结构,在GPU中生成相应的纹理数据; 然后,对纹理数据中的图结构,在GPU着色器程序中进行推进-重标号操作实现最大流最小割的迭代计算,并使用GPU中遮挡查询技术作为迭代结束条件; 最后,根据最小割的结果得到分割后的前景区域,并在对应像素上作标记。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨杰韦轶群
申请(专利权)人:上海交通大学
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1