菌落计数_创新技术(四):多菌种混杂情况的检测
(杭州迅数科技有限公司)
在菌落计数中,常常会碰到这样一种情况,即培养皿中生长着多种不同种类的菌落:有真菌、细菌、霉菌、放线菌等等。不同种类的菌落,往往颜色不同、生长形态不同。尤其是霉菌和放线菌,其表面往往呈碎颗粒状,碎颗粒的密度不一样,中间密度高从而颜色深、边上密度低从而颜色浅;另外其边缘往往呈毛刺状或云雾状,面积则比一般菌落大许多。图1显示了三个包含霉菌和其它菌混杂的培养皿。
图1 多菌种混杂生长的培养皿
这种多菌种混杂、尤其是存在霉菌和放线菌的情况,给自动化菌落计数带来困难。这是由于目前的自动化菌落计数是建立在图像分割技术基础上,而图像分割主要依据目标物与背景之间的差异性来进行的,比如两者的灰度差异、颜色差异、或边缘轮廓的突变性等等。
图2显示了采用传统图像分割技术,对包含霉菌的多菌种混杂的培养皿的分割效果。其中,图2-a是培养皿原图、图2-b是采用传统图像分割技术的分割结果、图2-c是对分割后的颗粒进行颜色填充以方便观察。不难看到:(1)由于霉菌表面呈碎颗粒状,导致图像分割将其分成一颗颗碎小颗粒。(2)霉菌表面的颜色变化,其边缘呈乳白色云雾状,转换成灰度后与其它白色菌落接近;而中间成墨绿色,转换成灰度后与背景的灰度相接近。这就导致传统的灰度分割技术必然把边缘部分当作菌落一类、而把中心部分当作背景一类来处理。(3)霉菌边缘的云雾状或模糊性,导致没有明显的边缘梯度变化,从而无法采用边缘梯度分割技术。
图2 传统图像分割技术对多菌种混杂情况的处理结果
基于水平集活动轮廓模型的图像分割技术,是目前国际上较为前沿的图像处理技术。该技术将水平集和活动轮廓模型结合起来,在极小化能量泛函的过程中,使活动轮廓不断逼近目标而实现对目标的分割。这一特点尤其适合对霉菌的检测,事实上,杭州迅数科技公司历经多年研究,已成功应用水平集活动轮廓模型解决霉菌放线菌等的检测,并取得理想效果(详见本公司网站文献《菌落计数_创新技术(1~3)》)。 但当霉菌放线菌与其它菌种混合在一起时,问题就变得更加复杂。这时,采用水平集活动轮廓模型往往对一种菌落有效、而对另一种菌落效果不好。在调整模型参数或约束条件后,对另一种菌落有效了、而对这种菌落的效果又不好了。事实上,上述培养皿所表现出来的,是一个多菌种、多目标、多特征的复杂问题。采用单一的水平集活动轮廓模型,已经无法取得理想效果。针对多目标、多特征的分割问题,目前国际上研究较多的主要有以下两种方法:(1)多相CV模型、(2)多层水平集框架模型。
1、多相CV模型 由Chan和Vese提出的一种多相水平集分割算法,即多相CV模型[1]。该算法在确定目标种类数之后,采用m个水平集函数相互约束地分割,并且可以用m个水平集函数表示2m个不重叠区域,从而避免在区域内部存在真空或者区域之间存在重叠现象。 多相CV模型的能量泛函为:
其中u0是原图像数据,cI是第I个区域的平均灰度值,xI是第I个区域的水平集表示,Фi为第i个水平集函数。以分割四相图像为例,引入两个水平集函数Ф1和Ф2,与此对应须设置两个初始轮廓,设图像u0被分为四个相互不重叠区域:
则能量泛函演变为:
其中Ф=(φ1,φ2),c=(c11,c10,c01,c00)中的分量分别代表图像u0在Ω11,Ω12,Ω21和Ω22区域内的平均灰度,如图3所示。
图3 两相水平集示意图
该模型中的两个轮廓短线同时演化,对应水平集函数也分别进行迭代运算,通过求解上式能量泛函对应的Euler-Lagrange方程可以得到梯度下降流公式如下:
其中灰度均值 C11,C10,C01和C00可分别在每次迭代中采用如下方式进行更新:
2、多层水平集框架[2] 与多相CV模型采用多个水平集函数不同,多层水平集框架是建立在一种图层的概念上的,并且只用一个基于CV模型的水平集函数,以一种层级演化的方式来进行多目标分割,属于串行多相分割算法。 定义原始图层为
其中,代表第l类目标的第i个区域。lm表示第l类目标的区域数目,并集表示第l类目标的集合,为背景区。 首先利用单水平集分割出原始图层L0,提取第一类目标区域,然后用除第一类目标区以外的区域灰度平均值掩盖该第一类目标区,产生一个新的背景区域类,图层状态变为:
原始图层L0到新图层L1的转换过程如图4所示。原始图层L0包含两类目标和,当第一类目标区域被分割出并用第二类目标区域与背景区域的灰度平均值替换时,形成图层L1,这样L1中只剩下第二类目标区域,剩下区域视为背景。当待分割图像有多类目标区域时,可以利用这一思想逐个分出某一类目标区域,直到没有目标为止,数学归纳如下:
图4 原始图像层L0向新图像层L1的转换
最终得到不含任何目标的图层Ln,即背景层Lbackground:
多层水平集框架仍依赖于CV模型,与传统CV模型不同的是,水平集函数一次只作用于一个图层,并对产生的新图层进行迭代演化,所以引入水平集函数,第l层(l=0,1,2,…,n-1)上的能量函数为:
与CV模型中参数相同,Cl表示Ll层上的演化曲线。引入时间变量t≥0,可得Ll上的水平集演化方程:
3、试验 以上介绍的多相CV模型,是一种并行模型。其可在不加约束条件的情况下,避免水平集函数作用区域的重叠覆盖以及漏覆盖问题。但多个水平集最终可能收敛到一个区域,另外该模型假定了图像中区域的个数。而实际菌落图像往往很复杂,难以人为划定区域,因此这种方法实际使用时会比较麻烦。多层水平集框架,属于水平集串行分割方法。其每次分割得到的轮廓曲线位于前一次分割得到的轮廓曲线内部,可以保证各水平集收敛目标不同,且具有从属关系,使用相对简单。本试验主要采用多层水平集框架模型。
图5显示了对多菌种、多特征菌落采用多层水平集框架模型的检测效果。其中图5-a是原图、图5-b是采用多层水平集框架模型的分割结果、图5-c对分割轮廓内部进行颜色填充以便观察。为解决部分菌落相互粘连的问题,试验中增加了分水岭粘连分割。 由图5不难看到,由于水平集活动轮廓模型分割技术是在极小化能量泛函的过程中,使活动轮廓不断逼近目标而实现对目标的分割,所以不存在对霉菌表面微小颗粒的过分割现象。此外,能量函数建立在轮廓内外的灰度方差基础上,因此活动轮廓在收缩时,不会受各种菌落颜色不同的影响而导致误分割。除极个别地方尚不完善外,绝大多数菌落都得到了准确的分割。
图5 基于多层水平集框架模型的分割效果
4、展望 基于水平集活动轮廓模型的图像分割方法,具有抗噪性强、数值求解稳定性好、分割边界光滑连续、可以处理拓扑结构复杂的情况等优点,成为目前国际上前沿的图像分割技术之一。多相CV模型和多层水平集框架模型都是基于水平集为基础,在解决多目标、多特征的分割问题上具有较好效果。为多菌种混杂情况的菌落检测提供了一种可行的方法。 但多相CV模型和多层水平集框架模型的每次迭代计算都需要初始化,导致计算量较大,分割耗时。随着问题复杂性的增加,其计算复杂性也显著升高。除此之外,这两种方法初始轮廓的选取还存在偶然性,预选区域的大小及形状均会影响分割的结果,须要进一步研究。
5、参考文献 [1] Zheng Gang, Li Yuanlu, Wang Huinan. A new multi-phase level set framework for 3D medical image segmentation based on TPBG [C]. 27th Annual International Conference of IEEE EMBC05, Shanghai, 2005. [2] 王晓峰.水平集方法及其在图像分割中的应用研究[J].中国科学技术大学,2011(02).
|