一种用于图像分析的高性能计算框架方法及系统与流程

文档序号:12595717阅读:242来源:国知局
一种用于图像分析的高性能计算框架方法及系统与流程

本发明涉及生物信息学以及高性能计算异构并行加速技术领域,特别是涉及一种用于图像分析的高性能计算框架方法及系统。



背景技术:

在生物信息学,尤其是发育学的研究中,分析的生物数据往往是通过各种具有诸如双光子、共聚焦、超分辨等技术的显微镜采集得到的荧光图像。对于这些荧光图像,可以使用多种图像分析与处理技术,通过对图像中的细胞进行观测、追踪与分析,进而分析在相应的组织以及器官的生长发育过程中,细胞的生长以及变化过程。而图像分析与处理的过程,通常需要根据待分析数据的实际情况,使用多种图像处理操作。在图像处理与研究中,经常使用的图像处理操作有图像对准、图像去噪、反卷积、图像分割、目标检索、兴趣域追踪、图像建模等操作。对于每一种图像处理操作,都对应着大量的算法与方法可供选择。多种图像处理操作组合在一起,就形成一个图像处理的流程。图像经过不同的图像处理步骤的逐步处理,可以产生截然不同的结果。

在实践中,对于一个实际的图像分析问题,往往需要根据实际问题和图像自身的特点,选择合适的图像处理操作,并组合使用多种图像处理与分析技术与算法,形成自身需要的图像处理过程,才可以得到比较满意的处理效果,进而从中分析出数据采集者需要的信息。这就导致对于不同的图像处理与分析任务,开发人员都会开发与之相对应的处理过程,来处理和分析自己采集得到的图像数据。然而实际上,分析不同数据的图像处理过程中,往往有大量的步骤或者处理是重复的,但是由于开发人员彼此之间的交流非常有限,导致不同的图像处理操作的复用性非常低。即使采用相同的技术或者算法实现的图像处理操作,由于开发人员各自问题不同甚至是开发人员代码开发风格的不同,导致不同图像处理过程中具有相同功能或者算法的模块复用难度非常大,复用率非常低。此外,在生物信息学中,需要处理的数据量往往非常巨大,这就导致图像处理需要的时间非常长,如何加快图像处理的速度,缩短图像处理与分析的时间,也成为图像处理与分析中一项紧迫的任务。

为了提高图像处理中的图像处理操作以及内部功能模块的复用率,同时加速图像处理的计算速度,本文提出了一种可以用于图像处理与分析的高性能计算框架,旨在方便灵活的使用多种图像处理操作组合出不同的图像处理流水线,从而可以应用于不同的图像处理任务。同时,该框架可以结合多种加速优化技术,提供单节点内部以及多节点之间的并行加速能力。从而大大提高图像处理的吞吐量,缩短运算时间。



技术实现要素:

本发明的目的是解决上述现有技术产生的图像处理操作复用率低,计算速度慢的问题,提出了一种模块化的高性能图像处理计算框架,通过图像处理操作的高度模块化,可以实现灵活组合与复用进而搭建出不同的图像处理流水线,同时该框架可以部署在集群中,从而获得多节点的吞吐率与计算能力。

具体地说,本发明公开了一种用于图像分析的高性能计算框架系统,其中该框架系统包括:

第一接收模块,用于接收用户向集群提交待处理的图像文件以及图像处理任务要求;

第一分析模块,用于根据集群配置,并结合任务调度与管理机制,生成单时间点细胞分割任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的单时间点的细胞分割任务;

第一分配模块,用于根据该任务调度与管理机制、集群包含的节点的数目,将该细胞分割任务分配到每个对应的计算节点;

第一阶段模块,用于根据该细胞分割任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第一图像处理流水线,执行细胞分割任务,生成单时间点细胞分割结果;

第一提交模块,用于向计算框架提交该单时间点细胞分割结果;

第一判断模块,用于根据该任务调度与管理机制,判断当前总体的图像分割任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该图像分割任务列表为空,全部的任务执行完成为止,如果为空,则调用第二分析模块;

第二分析模块,用于根据集群配置,并结合任务调度与管理机制,生成多时间点细胞追踪的任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的多时间点的细胞追踪任务;

汇总模块,用于汇总属于该图像处理任务的多个该细胞分割结果;

第二分配模块,用于根据该任务调度与管理机制、集群包含的节点的数目,将该细胞追踪任务分配到每个对应的计算节点;

第二阶段模块,用于根据该细胞追踪任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第二图像处理流水线,对汇总的多个该细胞分割结果,执行细胞追踪任务,生成细胞追踪结果;

建立模块,用于根据该细胞追踪结果,建立世系关系图;

第二提交模块,用于向计算框架提交该细胞追踪结果与世系关系图;

第二判断模块,用于根据该任务调度与管理机制,判断当前总体的细胞追踪任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该细胞追踪任务列表为空,全部的任务执行完成为止,如果为空汇总并保存全部的数据结果,终止整体框架的运行,其中数据结果包括细胞分割结果、细胞追踪结果与世系关系图。

该用于图像分析的高性能计算框架系统,其中该第一阶段模块,包括:

读取模块,用于读取单个时间点的三维立体图像栈,对该图像栈中的每一个体像素分配一个索引,并将每一个该体像素编入一个索引编号队列;

中值滤波模块,用于读取该图像栈中的每一个该体像素的亮度值,并对该图像栈中的每一个图像进行中值滤波操作并发送给候选点提取模块,其中该中值滤波操作包括,去除该图像中的椒盐噪声和图像平滑;

候选点提取模块,用于对该图像栈中亮度值大于用户指定阈值的体像素进行提取,生成候选点集合;

分水岭分割模块,用于接收该候选点集合,并对该候选点集合使用三维分水岭算法进行候选点图像分割,生成超体像素集合;

聚合聚类模块,用于分析该超体像素集合,根据不同超体像素间的最低亮度差值与邻接区域亮度值的差值,建立系统树图;

系统树图分割模块,用于根据用户指定的超体像素允许合并的亮度差值,对该系统树图进行分割,生成单个时间点细胞分割结果;

第一保存模块,用于接收该细胞分割结果,并将细胞分割结果进行保存。

该用于图像分析的高性能计算框架系统,其中该中值滤波模块,包括图像输入接口模块、图像输出接口模块以及计算节点环境检测模块,其中,

计算节点环境检测模块,用于读取当前计算节点的运行环境,并根据该环境加载对应的加速优化代码;

图像输入接口模块、图像输出接口模块,分别用于用户输入图像和输出处理之后的图像。

该用于图像分析的高性能计算框架系统,其中该第二阶段模块,包括:

准备模块,用于汇总该细胞分割结果,准备进行多个时间点的细胞追踪分析;

高斯模型初始化模块,用于将每个该细胞分割结果作为一个高斯混合模型进行分析,生成对应的高斯混合模型;

高斯模型推导模块,用于对该高斯混合模型进行参数推导,获得跨越时间点的细胞追踪信息和推导高斯混合模型;

细胞分裂检测模块,用于使用大津阈值法对于该高斯模型包含的超体像素进行分析,形成对应的子高斯混合模型,并将所有的该高斯混合模型汇总,作为细胞分裂信息;

规则库优化模块,用于对该高斯混合模型、该推导高斯混合模型和该子高斯混合模型进行分析判断,去除其中不符合条件的模型,保留符合条件的合格高斯混合模型;

世系生成模块,用于根据该合格高斯混合模型、该细胞追踪信息以及该细胞分裂信息,建立每一次细胞分裂的世系关系图;

第二保存模块,用于保存得到的该细胞追踪信息、该细胞分裂信息以及该世系关系图。

该用于图像分析的高性能计算框架系统,其中该规则库优化模块中的分析判断,具体为,将该高斯混合模型、该推导高斯混合模型和该子高斯混合模型与用户指定高斯混合模型尺寸阈值、模型持续时间阈值,以及细胞分裂产生的子模型大小阈值相对比,均大于等于上述阈值的为合格高斯混合模型。

本发明还提供一种用于图像分析的高性能计算框架方法,其中该框架方法包括:

第一接收步骤,接收用户向集群提交待处理的图像文件以及图像处理任务要求;

第一分析步骤,根据集群配置,并结合任务调度与管理机制,生成单时间点细胞分割任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的单时间点的细胞分割任务;

第一分配步骤,根据该任务调度与管理机制、集群包含的节点的数目,将该细胞分割任务分配到每个对应的计算节点;

第一阶段步骤,根据该细胞分割任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第一图像处理流水线,执行细胞分割任务,生成单时间点细胞分割结果;

第一提交步骤,向计算框架提交该单时间点细胞分割结果;

第一判断步骤,根据该任务调度与管理机制,判断当前总体的图像分割任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该图像分割任务列表为空,全部的任务执行完成为止,如果为空,则调用第二分析步骤;

第二分析步骤,根据集群配置,并结合任务调度与管理机制,生成多时间点细胞追踪的任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的多时间点的细胞追踪任务;

汇总步骤,汇总属于该图像处理任务的多个该细胞分割结果;

第二分配步骤,根据该任务调度与管理机制、集群包含的节点的数目,将该细胞追踪任务分配到每个对应的计算节点;

第二阶段步骤,根据该细胞追踪任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第二图像处理流水线,对汇总的多个该细胞分割结果,执行细胞追踪任务,生成细胞追踪结果;

建立步骤,根据该细胞追踪结果,建立世系关系图;

第二提交步骤,向计算框架提交该细胞追踪结果与世系关系图;

第二判断步骤,根据该任务调度与管理机制,判断当前总体的细胞追踪任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该细胞追踪任务列表为空,全部的任务执行完成为止,如果为空汇总并保存全部的数据结果,终止整体框架的运行,其中数据结果包括细胞分割结果、细胞追踪结果与世系关系图。

该用于图像分析的高性能计算框架方法,其中该第一阶段步骤,包括:

读取步骤,读取单个时间点的三维立体图像栈,对该图像栈中的每一个体像素分配一个索引,并将每一个该体像素,编入一个索引编号队列;

中值滤波步骤,读取该图像栈中的每一个该体像素的亮度值,并对该图像栈中的每一个图像进行中值滤波操作并发送给候选点提取步骤,其中该中值滤波操作包括,去除该图像中的椒盐噪声和图像平滑;

候选点提取步骤,提取该图像栈中亮度值大于用户指定阈值的体像素,生成候选点集合;

分水岭分割步骤,接收该候选点集合,并对该候选点集合使用三维分水岭算法进行候选点图像分割,生成超体像素集合;

聚合聚类步骤,分析该超体像素集合,根据不同超体像素间的最低亮度差值与邻接区域亮度值的差值,建立系统树图;

系统树图分割步骤,基于用户指定的超体像素允许合并的亮度差值,对该系统树图进行分割,生成单个时间点细胞分割结果;

第一保存步骤,接收该细胞分割结果,并将细胞分割结果进行保存。

该用于图像分析的高性能计算框架方法,其中该中值滤波步骤,包括图像输入接口步骤、图像输出接口步骤以及计算节点环境检测步骤,其中,

计算节点环境检测步骤,读取当前计算节点的运行环境,并根据该环境加载对应的加速优化代码;

图像输入接口步骤、图像输出接口步骤,分别对应输入处理前的图像和输出处理之后的图像。

该用于图像分析的高性能计算框架方法,其中该第二阶段步骤,包括:

准备步骤,汇总该细胞分割结果,准备进行多个时间点的细胞追踪分析;

高斯模型初始化步骤,将每个该细胞分割结果作为一个高斯混合模型进行分析,生成对应的高斯混合模型;

高斯模型推导步骤,对该高斯混合模型进行参数推导,获得跨越时间点的细胞追踪信息和推导高斯混合模型;

细胞分裂检测步骤,使用大津阈值法对于该高斯模型包含的超体像素进行分析,形成对应的子高斯混合模型,并将所有的该高斯混合模型汇总,作为细胞分裂信息;

规则库优化步骤,对该高斯混合模型、该推导高斯混合模型和该子高斯混合模型进行分析判断,去除其中不符合条件的模型,保留符合条件的合格高斯混合模型;

世系生成步骤,根据该合格高斯混合模型、该细胞追踪信息以及该细胞分裂信息,建立每一次细胞分裂的世系关系图;

第二保存步骤,保存得到的该细胞追踪信息、该细胞分裂信息以及该世系关系图。

该用于图像分析的高性能计算框架方法,其中该规则库优化步骤中的分析判断,具体为,将该高斯混合模型、该推导高斯混合模型和该子高斯混合模型与用户指定高斯混合模型尺寸阈值、模型持续时间阈值,以及细胞分裂产生的子模型大小阈值相对比,均大于等于上述阈值的为合格高斯混合模型。

本发明技术效果为:通过本发明的用于图像分析的高性能计算框架,可以根据具体图像处理任务的不同,高效灵活的搭建相对应的图像处理流水线,使得该流水线中每个图像处理计算模块都可以支持多种并行优化技术,并将原本只能在单独一个计算节点上串行进行的图像处理任务,高效地部署在异构集群上进行并行运算和处理,从而提高图像处理的吞吐率,加速图像处理的速度。

附图说明

图1A、图1B为本发明应用于生物信息学分析的一个实际场景示意图;

图2为本发明第一阶段图像处理流水线设计的实施例示意图;

图3为本发明第二阶段图像处理流水线设计的实施例示意图;

图4为本发明实施例中支持多种加速优化技术的中值滤波图像处理模块的结构示意图;

图5为本发明第一阶段图像处理流水线的任务调度流程图;

图6为本发明第二阶段图像处理流水线的任务调度流程图;

图7为本发明应用于异构集群中的任务分解与计算优化的配置示意图;

图8为本发明实施例整体图像处理执行流程图。

具体实施方式

本发明整个计算框架使用模块化设计,将整个图像处理流程分割成包含图像滤波、图像降噪、图像分割、兴趣域追踪、模型重构等不同的操作步骤。对于不同的操作步骤,在计算框架中都打包成对应的功能模块。这些功能模块对于用户而言都是黑盒子,其内部实现对于用户是不可见的,只有对应的接口暴露给用户进行使用。用户可以根据自己的需要调用对应的功能模块,实现对图像进行相应的功能处理。用户也可以根据自己的需要,实现自己的功能模块,然后添加入框架中,方便自己反复调用以及其他用户的再次使用。通过该计算框架,可以将一个复杂的图像处理过程实现为具有高度模块化结构的图像处理流水线。利用具有高度模块化结构的图像处理流水线来进行图像处理,具有如下有益的技术效果。首先实现功能细分,降低图像处理的复杂度。其次增加了功能模块的复用性,开发实现的功能模块可以很轻松的进行反复使用。第三是降低了图像处理流水线再次开发的难度,提高了图像处理算法的适用场景。针对不同的图像处理场景,用户只需调用需要的图像处理操作模块,进行自由重组,就可以形成对应的图像处理流水线,应用于不同的图像处理问题。

为了使本发明的目的、技术方案更加清楚明白,以下结合附图及实施例,对本发明的一种用于图像分析的高性能计算框架及方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1描述了在实际科学研究中,一个需要进行图像处理和分析的生物信息学项目。在本问题中,待分析的图像是利用超高分辨显微镜采集的发育12个小时以内的某个时间点小鼠胚胎心脏图像。该图像如图1A所示,是由400张分辨率为2048*2048的单张图片(图像)堆叠而成的三维立体图像栈,因此该图像栈的X、Y、Z三个方向的分辨率依次为2048,2048,400。由于技术以及细胞活性问题,这样的图像帧不能连续拍摄,每完成一次拍摄需要间隔十分钟,然后才能进行下一次拍摄。因此科研人员通过不断采集72个不同时间点的图像帧,来近似实现对于小鼠胚胎心脏发育12个小时的连续拍摄。图1B显示了间隔两个小时的7个不同的时间点上的三维立体图像栈的Z轴投影效果。科研人员希望可以观测到在这12个小时内,小鼠胚胎心脏细胞的生长发育以及相应变化。而在本问题中,研究人员最关心的细胞发育变化就是细胞分裂现象。因为采集的图像是胚胎早期心脏发育图像,因此存在剧烈的细胞分裂现象,研究人员希望可以从观测的最早时间点开始,追踪全部的细胞,记录细胞的分裂现象,并对细胞分裂产生的子细胞进行记录,最终建立一个细胞分裂的世系(lineage),从而观测到在整个心脏发育过程中,心肌细胞的分裂变化现象。因此,该问题需要划分为两个阶段进行解决,本实施例包括第一阶段模块和第二阶段模块,第一阶段模块,用于完成第一阶段内容,具体来说即为对每个单个的时间点的图像栈进行分析,提取出该时间点中全部细胞(本实施例中即为心脏部位的全部细胞),并进行标记,生成细胞分割结果。其主要任务可以概括为细胞分割。第二阶段模块,用于第二阶段,具体来说即为对于全部时间点经过第一阶段分析得到的细胞标记,即该细胞分割结果,建立相应细胞在每个时间点之间的联系,即细胞追踪结果,从而追踪每个细胞在不同时间点的位置以及相应的变化,主要是分裂的现象,然后记录细胞分裂的前后代关系,最终为分裂的细胞建立并记录其世系关系图。其主要任务则为细胞追踪与世系建立。

图2描述了本发明采用的高度模块化的图像处理流水线设计对于图1的图像处理问题,在第一阶段一个实施例的示意图。第一阶段模块主要包括如下功能模块:

读取模块,用于读取如图1A所示的,单个时间点的三维立体图像栈。对该图像栈中的每一个体像素(voxel),分配一个索引(index)。将该图像栈中全部的体像素,编入一个索引编号队列,便于接下来进行图像处理操作。

中值滤波模块,用于读取该图像栈中的每一个该体像素的亮度值,并对该图像栈中的每一个单张图像进行中值滤波操作,并将操作后的该图像栈发送给候选点提取模块,其中该中值滤波操作包括,去除该图像中的椒盐噪声(salt&pepper noise),进行图像平滑。

候选点提取模块,由于输入的图像栈的每个体像素都具有一定的亮度值,而只有亮度值大于一定阈值的体像素,才认为其是属于心肌细胞上的体像素。因此在该候选点提取模块中,针对经过中值滤波操作后的该图像栈,用于对该图像栈中亮度值大于用户指定阈值的体像素进行提取,而这些被提取出来的体像素,就被称为有可能是心肌细胞的候选点集合。而对于该图像栈中,亮度值小于阈值的体像素,则将其亮度值修改为系统给定的最小值,作为背景处理。

分水岭分割模块,用于接收该候选点集合,并对该候选点集合使用三维分水岭算法,进行候选点图像分割。分水岭算法是一种发源于地形学的图像分割算法,其模拟从一个山谷中最低点的位置注水,直到将属于一个山谷中的区域全部淹没,与属于其他山谷的区域相接形成分水脊而结束的过程,将整个图像区域分割成大量属于不同“山谷”的子区域,从而实现将整个图像进行分割的效果。而三维分水岭算法就是将以上在二维平面空间上进行注水的过程迁移至三维立体空间实现。而在本问题中,体像素的亮度值就对应分水岭算法中水位的高低。经过分水岭算法处理后,在亮度上属于一个“山谷”的体像素就会被分割在一起,形成一个类别。同一个类别中的体像素被认为很有可能属于一个心肌细胞。由于经过分水岭算法后形成的类别中往往含有大量的体像素,因此这些类别被称为“超体像素”(supervoxel)。经过分水岭算法的处理,候选点集合被分割成大量的超体像素集合。

聚合聚类模块,由于心肌细胞并不是一个规则的球形,加之拍摄时往往有荧光强度、角度、运动等的影响,因此导致同一个心肌细胞的不同区域往往具有不同的亮度分布。而经过分水岭算法进行图像分割后,同一细胞中亮度分布不同的区域往往形成各自的超体像素。因此,接下来需要使用聚合聚类模块,使用自底向上的聚合聚类算法,用于分析该超体像素集合中,不同超体像素间的最低亮度差值与邻接区域亮度值的差值,通过该差值建立基于超体像素的系统树图(dendrogram),以表征不同的超体像素可能聚合为一类的相互关系。

系统树图分割模块,基于该系统树图,根据用户指定的超体像素允许合并的亮度差值,对系统树图进行分割,进一步将不同的超体像素分割进入不同的类别中。并对分割得到的不同的类别进行条件判断,去除明显不可能是细胞的类别,最终认为得到的分割结果每个类别对应一个心肌细胞,作为当前单个时间点细胞分割结果。

第一保存模块,用于接收该细胞分割结果,并将细胞分割结果按指定的格式进行保存,准备接下来进行第二阶段细胞追踪的分析。

图3描述了本发明采用的高度模块化的图像处理流水线设计对于图1的图像处理问题,在第二阶段一个实施例的示意图。第二阶段模块主要包括如下功能模块:

准备模块,用于汇总第一阶段,由各个计算节点计算得到的该细胞分割结果,准备进行多个时间点的细胞追踪分析。

高斯模型初始化模块,用于对该高斯混合模型进行参数推导,以获得跨越时间点的细胞追踪信息和推导高斯混合模型,在本实施例中,通过使用高斯混合模型实现细胞追踪,高斯混合模型是针对不同的特性建立对应的高斯分布分模型,并将不同的分模型通过的线性加和的方式形成概率分布的混合模型。因此,在该高斯模型初始化模块中,将第一步分割得到的每一个该细胞分割结果都作为一个高斯混合模型进行分析,以生成对应的高斯混合模型。具体来说该模块通过待分析细胞的平均强度、中心位置以及形状等特性,将每一个细胞初始化为一个高斯混合模型。

高斯模型推导模块,在每个时间点的细胞都初始化为高斯混合模型后,开始进行高斯混合模型的参数推导。通过对当前t时间点产生的高斯混合模型,推导其t+1时间点可能进化成的推导高斯混合模型,然后跟t+1时间点的高斯混合模型进行对比,从而建立不同时间点的细胞的对应关系,以获得跨越时间点的细胞追踪信息。

细胞分裂检测模块,在建立了跨时间点的细胞追踪联系后,就进入细胞分裂检测模块,在该模块中,对于产生的每个该高斯混合模型,先使用大津(OTSU)阈值法对于该高斯模型包含的超体像素进行分析,判断是否所有的超体像素都属于同一个连通域。如果该高斯混合模型存在多个不相连的区域,则认为该细胞可能存在分割现象,并将该高斯混合模型中的不连通超体像素划分为不同的组,并形成对应的子高斯混合模型。此时认为检测到一次细胞分裂现象,并将所有的该细胞分裂现象汇总,作为细胞分裂信息。

规则库优化模块,在经过高斯模型初始化、高斯模型参数推导与细胞分裂检测后,得到大量的高斯混合模型,其中包括高斯模型初始化模块生成的高斯混合模型,高斯模型推导模块产生的推导高斯混合模型以及细胞分裂检测模块产生的子高斯混合模型。然而,由于多种原因,诸如细胞挤压、变形等,其中很多高斯混合模型并不是真正的对应于一个细胞。而通过细胞分裂检测产生的子高斯混合模型也很有可能只是由于荧光的闪烁而进行的误判。因此,规则库优化模块需要通过一系列规则,对产生的高斯混合模型进行分析,将其中不符合条件的模型去除,只保留符合条件的合格高斯混合模型。该规则库优化模块属于一个灵活修改的模块,其内部可以根据实际问题的需要添加满足任何规则的子模块。在本实施例中,该规则库优化模块的判断标准为,将高斯模型初始化模块生成的高斯混合模型,高斯模型推导模块产生的推导高斯混合模型以及细胞分裂检测模块产生的子高斯混合模型与用户指定高斯混合模型尺寸阈值、模型持续时间阈值,以及细胞分裂产生的子模型大小阈值相对比,大于等于上述阈值的为合格高斯混合模型。

世系生成模块,经过规则库优化模块对产生的高斯混合模型进行结果优化后,就可以假设得到的合格高斯混合模型都真实对应了图像中的一个细胞。从而可以结合之前的高斯模型推导模块中得到该细胞追踪信息以及该细胞分裂信息,建立每一次细胞分裂的世系(lineage)关系图。其中细胞追踪信息以及细胞分裂信息统称细胞追踪结果。而世系关系图就是追踪一个细胞在分裂之后产生的每一个子细胞,以及在以后的时间点中,其子细胞或者后代细胞再次分裂产生的子孙细胞,从而建立一个细胞谱系的树形图。

第二保存模块,用于保存得到的该细胞追踪信息、该细胞分裂信息以及该世系关系图。

在本发明中,每个图像处理计算模块都是一个独立的功能单元,用于实现相应的图像处理操作以及算法。对于每个图像处理计算模块,只需要明确公开其对外的接口信息,而对于其内部的实现细节不需要公开。用户只需要掌握不同功能模块的输入输出接口,就可以调用对应的图像处理计算模块,从而大大降低用户使用不同图像处理操作的难度。由于计算模块对于用户是不可见的,因此其具体实现细节是与用户隔离的,因此,计算模块的开发人员可以使用当前计算节点支持的各种并行优化技术来优化计算模块的性能。同时,根据图像处理计算模块运行的计算节点的不同,具有相同功能与算法的图像处理计算模块可以开发出支持不同计算节点以及加速优化技术的变种,从而实现对异构集群系统(heterogeneous cluster computing systems)的支持。基于以功能为单位的图像处理计算模块结构以及屏蔽实现细节的设计原则,该计算框架更加便于优化图像处理操作。对应计算复杂度高,计算时间消耗大的操作,可以在相应的模块上进行优化开发,而对流水线中其他的功能模块没有影响。因此本发明中的图像处理计算模块可以支持CUDA、MPI、MIC、多线程以及指令集加速等加速优化技术,从而大大提高了图像处理的速度,缩短了计算时间。并且可以应用于不同配置的计算节点,实现了对异构集群系统的支持。

针对图像处理任务建立的图像处理功能流水线,是由多个高度独立的功能模块组成,在每个计算节点上运行的。为了充分发挥节点的计算能力,可以在计算负载大,时间消耗多的功能模块中添加并行优化代码,从而利用节点的全部计算资源,提高功能模块的计算效率,最终缩短图像处理流水线整体的计算时间。图4描述了本发明在图1实施例中支持多种加速优化技术的中值滤波图像处理模块的结构示意图。由于中值滤波操作是对每个体像素进行操作,因此其计算负载随着图像尺寸的增大而线性增加。对于分辨率高的图像处理任务,中值滤波往往成为时间瓶颈之一。因此,为了提高中值滤波功能的计算速度,本发明开发了优化的中值滤波模块,该中值滤波模块包含图像输入接口模块、图像输出接口模块以及计算节点环境检测模块,在该中值滤波模块中内置一个节点环境检测模块作为子功能模块,用于读取当前计算节点的运行环境,并根据该环境加载对应的加速优化代码,例如判断该节点是否配置了加速卡,如果在该节点上有安装支持CUDA技术的NVIDIA显卡,或者Intel的至强协处理器之类的加速卡,则该中值滤波模块可以调用其内置的相应的加速优化代码,例如GPU版本或者MIC版本的中值滤波代码,进行加速计算。如果该节点没有安装加速卡,该中值滤波模块也可以使用CPU支持的加速技术,诸如支持多线程或者多进程的加速功能代码,来实现加速处理。而该模块内置的多种加速优化变种版本,其细节都是对用户屏蔽的。该中值滤波模块对外提供给用户的只有图像输入接口模块和输出接口模块,分别用于用户输入图像和输出处理之后的图像。而在图像送入中值滤波模块后,具体的处理细节则不需要用户关心,从而大大方便了用户的使用。此外,开发人员也可以开发支持新的加速技术的中值滤波模块,只要支持模块内部的数据结构即可,从而方便的实现了对中值滤波模块的升级,而且升级的过程对于用户是完全透明的,没有任何影响。

随着计算任务的增加、计算规模的增大,现在的图像处理工作多是将大量的图像处理任务直接提交到通过具有多个节点的计算集群来完成的。而且通常情况下集群中的节点也并不完全相同,因此本发明为了适应实际需要,支持更广泛的应用场景,可以支持异构集群的图像处理任务,提供一种用于图像分析的高性能计算框架,该框架包括跨节点的任务调度与管理机制。为了充分发挥大规模计算集群的强大计算能力,缩短图像处理时间,本发明具有在节点间进行任务划分与调度,并进行管理的机制。对于任务的调度与管理,该机制具有两个层面的实现方式。首先,对于一个待处理的图像处理任务,该调度与管理机制可以先对任务进行分析,然后进行合理维度的划分,确定可以并行在不同节点上进行处理的任务的最小单元,然后分配到对应的节点上进行运算,从而将原来需要在一个节点上串行计算的任务,划分为在多个节点上进行并行计算的任务,从而提高计算效率,缩短计算时间。其次,对于现在普遍采用的异构集群,该机制可以根据节点的情况,调用合适的图像处理计算模块,生成相应的图像处理流水线,从而获得更好的计算性能。因此,在任务被划分为子任务分配到不同的计算节点后,相同配置的节点生成相同的图像处理流水线,而配置不同的节点之间则生成不同的图像处理流水线,进而充分发挥不同节点的计算能力。通过该任务调度与管理机制,可以将原本只能在单节点上运行的图像处理任务部署到大规模计算集群上进行处理,并充分发挥每个计算节点的计算能力,从而增大计算任务的吞吐率,提高图像处理的计算效率。

图5描述了本发明一实施例中第一阶段的任务调度流程图。该调度流程框架系统包括:

第一接收模块,用于在开始的时候,接收用户向集群提交待处理的图像文件(图像栈)以及具体的图像处理任务要求;

第一分析模块,用于根据集群配置,并结合任务调度与管理机制,生成单时间点细胞分割任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的单时间点的细胞分割任务;

第一分配模块,用于根据该任务调度与管理机制、集群包含的节点的数目,将该细胞分割任务分配到每个对应的计算节点;

第一阶段模块,用于在每个对应计算节点得到各自的该细胞分割任务后,该计算节点根据该细胞分割任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第一图像处理流水线,执行细胞分割任务,生成单时间点细胞分割结果;

第一提交模块,用于在任务执行结束后,节点则会向计算框架提交该单时间点细胞分割结果;

第一判断模块,用于根据该任务调度与管理机制,判断当前总体的图像分割任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,以上过程重复进行,直到该任务列表为空,全部的任务执行完成为止,如果为空则认为第一阶段,即细胞分割阶段已经结束,并调用第二分析模块。

与第一阶段的任务调度过程类似,该图像处理任务的第二阶段也需要进行任务调度。图6描述了本发明一实施例中第二阶段的任务调度流程图。第二阶段的任务调度与第一阶段的任务调度最大的区别在于任务调度的粒度不同。在第一阶段中每个节点的任务粒度为时间点级别,就是对于细胞分割任务,时间点之间是独立的,即使属于不同图像任务的时间点图像栈,也可以在集群中不同的节点上并发的执行而不会相互影响。而第二阶段的任务粒度则是一个图像分析与处理的任务级别,该任务需要对来自同一次实验对象的多个时间点的数据进行分析。因此,第二阶段每个节点上的任务需要集合属于该实验对象的多个时间点的第一阶段的处理结果才能执行。因此,在该阶段的任务调度流程图中,在根据用户输入的多个图像处理任务来生成相应的细胞追踪任务列表的时候,需要汇总属于该任务的由多个节点处理的单时间点细胞分割结果,而不能将不同任务的细胞分割结果混合在一起使用。在注意了任务分割的粒度不同之后,接下来的处理过程,第二阶段与第一阶段就基本类似了。也是通过本计算框架的任务调度与管理机制将不同的细胞追踪任务划分到不同的节点执行。然后由每个节点执行分配给自己的细胞追踪任务,并根据细胞追踪结果建立对应的世系关系图。然后每个结果向框架提交自己的处理结果。而框架根据任务列表的情况来决定是继续执行未完成的任务,还是汇总并保存全部的数据结果,终止整体框架的运行。第二阶段调度流程框架系统具体为:

第二分析模块,用于根据集群配置,并结合任务调度与管理机制,生成多时间点细胞追踪的任务列表,并根据该任务列表和第一阶段的该图像文件、该图像处理任务要求,分析得出需要处理的全部的多时间点的细胞追踪任务;

汇总模块,用于汇总属于该图像处理任务的多个该细胞分割结果;

第二分配模块,用于根据该任务调度与管理机制、集群包含的节点的数目,将该细胞追踪任务分配到每个对应的计算节点;

第二阶段模块,用于在每个对应计算节点得到各自的该细胞追踪任务后,该计算节点根据该细胞追踪任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第二图像处理流水线,对汇总的多个该细胞分割结果,执行细胞追踪任务,生成细胞追踪结果;

建立模块,用于根据该细胞追踪结果,建立世系关系图;

第二提交模块,用于在任务执行结束后,节点则会向计算框架提交该细胞追踪结果与世系关系图;

第二判断模块,用于根据该任务调度与管理机制,判断当前总体的细胞追踪任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,以上过程重复进行,直到该任务列表为空,全部的任务执行完成为止,如果为空则认为第二阶段,即细胞追踪阶段已经结束,汇总并保存全部的数据结果,终止整体框架的运行。其中数据结果包括第一阶段的全部细胞分割结果、第二阶段的细胞追踪结果与世系关系图。

图7描述了本发明应用于异构集群中的任务分解与计算优化的配置示意图。当图像处理任务被提交给集群后,本计算框架会对任务进行整体的分配与调度,将任务分解为子任务划分到不同的节点上,从而实现子任务的节点间的并行。而在每个节点执行子任务的过程中,则会对子任务进行进一步的功能分解,拆分成一个个图像处理功能模块。而在每个节点上,通过对多个图像处理功能模块的组装与拼接,形成一个对于当前子任务的图像处理流水线,来实现对分配到节点上的子任务的执行。通过在节点上对子任务进行的功能模块划分与流水线建立,可以将子任务进一步分解,降低其复杂度,突出性能瓶颈。由于功能模块彼此之间高度的独立性以及流水线组装的灵活性,本计算框架可以在模块内集成多种并行优化技术,或者提供同一功能的多种优化技术的变种,从而便于充分利用当前计算节点的资源,尽可能发挥其性能,进而提高流水线整体的效率。

图8描述了对图1的图像处理任务的整体执行流程。该任务从整体上划分为细胞分割与细胞追踪两个阶段。在流程的起始阶段,用户向本计算框架提交了图像处理任务序列。本框架的任务调度与分配机制则根据用户提交的任务序列,建立对应的单时间点细胞分割任务列表,并将划分的子任务分配到不同的节点上执行。而每个节点在执行分配完分配给自身的子任务后,将细胞分割结果提交给计算框架。计算框架汇总节点的细胞分割结果后,进入细胞追踪阶段,生成多时间点的细胞追踪任务列表,并将生成的子任务再次分配到不同的节点上执行。与第一阶段类似,每个节点在执行分配完分配给自身的子任务,进行细胞追踪并建立对应的世系列表后,将得到的结果提交给计算框架。最终,由框架汇总和整理全部的结果,将最终任务处理结果返回给用户。

以下为与上述方法实施例对应的方法实施例,本实施方式可与上述实施方式互相配合实施。上述施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。

本发明还提出了一种用于图像分析的高性能计算框架方法,该框架方法包括:

第一接收步骤,接收用户向集群提交待处理的图像文件以及图像处理任务要求;

第一分析步骤,根据集群配置,并结合任务调度与管理机制,生成单时间点细胞分割任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的单时间点的细胞分割任务;

第一分配步骤,根据该任务调度与管理机制、集群包含的节点的数目,将该细胞分割任务分配到每个对应的计算节点;

第一阶段步骤,根据该细胞分割任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第一图像处理流水线,执行细胞分割任务,生成单时间点细胞分割结果;

第一提交步骤,向计算框架提交该单时间点细胞分割结果;

第一判断步骤,根据该任务调度与管理机制,判断当前总体的图像分割任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该图像分割任务列表为空,全部的任务执行完成为止,如果为空,则调用第二分析步骤;

第二分析步骤,根据集群配置,并结合任务调度与管理机制,生成多时间点细胞追踪的任务列表,并根据该任务列表、该图像文件和该图像处理任务要求,分析得出需要处理的全部的多时间点的细胞追踪任务;

汇总步骤,汇总属于该图像处理任务的多个该细胞分割结果;

第二分配步骤,根据该任务调度与管理机制、集群包含的节点的数目,将该细胞追踪任务分配到每个对应的计算节点;

第二阶段步骤,根据该细胞追踪任务的设置和该计算节点的实际情况,组装符合该计算节点特点的第二图像处理流水线,对汇总的多个该细胞分割结果,执行细胞追踪任务,生成细胞追踪结果;

建立步骤,根据该细胞追踪结果,建立世系关系图;

第二提交步骤,向计算框架提交该细胞追踪结果与世系关系图;

第二判断步骤,根据该任务调度与管理机制,判断当前总体的细胞追踪任务列表是否为空,如果不为空,则根据各个节点的当前情况,进行新的任务调度与分配,直到该细胞追踪任务列表为空,全部的任务执行完成为止,如果为空汇总并保存全部的数据结果,终止整体框架的运行,其中数据结果包括细胞分割结果、细胞追踪结果与世系关系图。

该用于图像分析的高性能计算框架方法,其中该第一阶段步骤,包括:

读取步骤,读取单个时间点的三维立体图像栈,对该图像栈中的每一个体像素分配一个索引,并将每一个该体像素,编入一个索引编号队列;

中值滤波步骤,读取该图像栈中的每一个该体像素的亮度值,并对该图像栈中的每一个图像进行中值滤波操作并发送给候选点提取步骤,其中该中值滤波操作包括,去除该图像中的椒盐噪声和图像平滑;

候选点提取步骤,提取该图像栈中亮度值大于用户指定阈值的体像素,生成候选点集合;

分水岭分割步骤,接收该候选点集合,并对该候选点集合使用三维分水岭算法进行候选点图像分割,生成超体像素集合;

聚合聚类步骤,分析该超体像素集合,根据不同超体像素间的最低亮度差值与邻接区域亮度值的差值,建立系统树图;

系统树图分割步骤,基于用户指定的超体像素允许合并的亮度差值,对该系统树图进行分割,生成单个时间点细胞分割结果;

第一保存步骤,接收该细胞分割结果,并将细胞分割结果进行保存。

该用于图像分析的高性能计算框架方法,其中该中值滤波步骤,包括图像输入接口步骤、图像输出接口步骤以及计算节点环境检测步骤,其中,

计算节点环境检测步骤,读取当前计算节点的运行环境,并根据该环境加载对应的加速优化代码;

图像输入接口步骤、图像输出接口步骤,分别对应输入处理前的图像和输出处理之后的图像。

该用于图像分析的高性能计算框架方法,其中该第二阶段步骤,包括:

准备步骤,汇总该细胞分割结果,准备进行多个时间点的细胞追踪分析;

高斯模型初始化步骤,将每个该细胞分割结果作为一个高斯混合模型进行分析,生成对应的高斯混合模型;

高斯模型推导步骤,对该高斯混合模型进行参数推导,获得跨越时间点的细胞追踪信息和推导高斯混合模型;

细胞分裂检测步骤,使用大津阈值法对于该高斯模型包含的超体像素进行分析,形成对应的子高斯混合模型,并将所有的该高斯混合模型汇总,作为细胞分裂信息;

规则库优化步骤,对该高斯混合模型、该推导高斯混合模型和该子高斯混合模型进行分析判断,去除其中不符合条件的模型,保留符合条件的合格高斯混合模型;

世系生成步骤,根据该合格高斯混合模型、该细胞追踪信息以及该细胞分裂信息,建立每一次细胞分裂的世系关系图;

第二保存步骤,保存得到的该细胞追踪信息、该细胞分裂信息以及该世系关系图。

该用于图像分析的高性能计算框架方法,其中该规则库优化步骤中的分析判断,具体为,将该高斯混合模型、该推导高斯混合模型和该子高斯混合模型与用户指定高斯混合模型尺寸阈值、模型持续时间阈值,以及细胞分裂产生的子模型大小阈值相对比,均大于等于上述阈值的为合格高斯混合模型。

虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1