Journal of Image and Signal Processing
Vol.3 No.03(2014), Article ID:13686,9 pages
DOI:10.12677/JISP.2014.33008

The Design and Implementation of Decompression Sickness Bubble Detection System Based on Dynamic Ultrasound Images

Hong Liu1, Ruiyong Chen2, Wei Zhang3, Changhai Lei1*, Weigang Xu3*

1Network Information Center of Second Military Medical University, Shanghai

2Department of Diving Medicine, The Naval Medical Research Institute, Shanghai

3Department of Diving and Hyperbaric Medicine, Faculty of Naval Medicine, The Second Military Medical University, Shanghai

Email: liuhong@smmu.edu.cn, liuhong2007@fudan.edu.cn, *lei@smmu.edu.cn, *wgxu@hotmai.com

Copyright © 2014 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

Received: Mar. 24th, 2014; revised: Apr. 11th, 2014; accepted: May 6th, 2014

ABSTRACT

This paper introduces in detail the key technologies and the complete implementation procedure of decompression sickness bubble detection based on dynamic ultrasound image. It focuses on two key technologies: ROI contour extraction and bubble detection. With regard to ROI contour extraction, this paper proposes the neighborhood distance criterion, the neighborhood contour curvature consistency criterion and neighborhood gradient direction consistency criterion to precisely locate the outline of ROI. For bubble detection, this paper puts forward the bubble detection algorithms based on region growing and edge closed path, and analyzes the applicable situation of the two algorithms. The actual test results verify the validity of the algorithms.

Keywords:Dynamic Ultrasound Image, Decompression Sickness, Bubble Detection

基于动态超声图像的减压病气泡检测系统
设计和实现

刘  红1,陈锐勇2,张  尉3,雷长海1*,徐伟刚3*

1第二军医大学网络中心,上海

2海军医学研究所潜水医学研究室,上海

3第二军医大学海军医学系潜水医学教研室,上海

Email: liuhong@smmu.edu.cn, liuhong2007@fudan.edu.cn, *lei@smmu.edu.cn, *wgxu@hotmai.com

收稿日期:2014年3月24日;修回日期:2014年4月11日;录用日期:2014年5月6日

摘  要

本文详细介绍了基于动态超声图像的减压病气泡检测关键技术以及实现过程。重点介绍了检测过程中的两大关键技术:ROI轮廓提取和气泡检测。针对ROI轮廓提取,本文提出了同邻域距离判别法、同邻域轮廓曲率一致性判别法和同邻域梯度方向一致性判别法来精确定位ROI的轮廓。针对ROI区域中气泡的检测,本文提出了基于区域生长和闭合边缘路径的气泡检测方法,并分析了两种方法各自的适应情况。实际检测结果验证了本文算法的有效性。

关键词

超声图像,减压病,气泡检测

1. 引言

减压病(Decompression sickness,DCS)是由于环境气压不恰当降低,使得先前溶解于体内的惰性气体出现不安全过饱和,在原地溢出形成气泡而导致的临床综合征[1] 。DCS气泡形成的确切机制尚未完全明了。通常推测气泡由其前身——所谓的“气核”发展而来。气核被认为稳定存在于内皮细胞的疏水间隙中,或是被一层类似表面活性剂的物质覆盖。在快速、大幅度减压过程中或减压后,这些气核中扩散人大量惰性气体,遂形成气泡,可出现于组织和血管中[2] 。气泡可以散射和吸收入射的超声波,因此,超声仪器被广泛应用于减压病的气泡探测中。目前,主要有两类方法用于探测减压病气泡:多普勒系统探测气泡和超声成像仪探测气泡[3] 。本文所要研究的内容是:基于超声成像仪获取的视频数据,设计一个能自动检测和分析减压病气泡数据的软件系统。系统框架图如图1所示,其核心功能包括:减压病气泡二维图像序列的抽取,图像ROI区域的自动识别,ROI中气泡的检测和检测结果的分析。

2. 二维超声图像序列的获取

根据系统框架图1所示,本文设计研发的减压病气泡检测系统的原始输入数据是一段超声检测视频,视频本质上是一帧帧时间上连续的图像的组合,系统气泡检测主要依赖于这些视频帧所包含的图像信号。对于超声视频帧的抽取,我们采用的以固定时间间隔(例如:每隔一秒)抽取方法,根据具体实验对象的不同,图像帧抽取的间隔也不同,例如,人的心跳比大鼠的心跳慢得多,那么,对于人的超声视频抽取间

Figure 1. The system architecture

图1. 系统框架图

隔可以设置得比大鼠的要长一些。当然,抽取间隔设置越短,检测准确度会有所提高,但检测时间也会相应变长。一个合适的超声视频抽取时间间隔应该在准确率和计算代价之间找到一个平衡点。

3. ROI区域检测

在基于二维超声图像的减压病气泡检测中,首先要实现的工作是感兴趣区域(ROI)的确定,即由计算机自动界定ROI区域。在减压病气泡分析中,我们关注的通常是图像的某一个局部,而不是整个全图。因此,在我们设计的检测系统中,ROI的界定是通过在图像序列中任意选择一帧图像,手动圈定大体区域的方法定义目标ROI的大体位置,然后由程序来自动界定所有图像帧的ROI。

在图像处理领域,ROI区域检测可以理解为对图像进行边缘检测和轮廓跟踪,即利用图像的边缘特征来界定ROI区域。图像的边缘是反映图像局部变化的一个重要特征,通常以不连续的形式出现,图像的边缘特性通过图像灰度值的变化方向和变化幅度来描述。一般地,沿图像边缘走向的像素的灰度值变化平缓,而垂直于边缘走向的像素的灰度值变化剧烈。本文中,我们利用图像的边缘特性进行ROI检测的基本思想是:首先检测图像中的边缘点,再按一定策略连接成轮廓,最终获取图像的ROI区域。

3.1. 边缘点检测

图像的边缘包含了丰富的图像信息,是最基本的图像特征之一。因此,图像边缘检测一直是图像处理领域中的热点问题,国内外许多学者在这方面做了深入研究。目前,经典的图像边缘检测方法主要有Roberts算子、Sobel算子、Prewitt算子、Laplace算子、Log算子和Canny算子等。Roberts、Sobel、Prewitt等算子利用了图像梯度的极大值,即一阶导数方法进行边缘检测;Laplace算子和Log算子等方法则利用了图像的二阶导数进行边缘检测;Canny算子本质上也属于一阶导数方法,但结合了图像平滑和边缘增强的优化算子。一阶导数方法技术简单,但抗噪性能较差,容易受干扰。采用二阶微分算子进行图像边缘检测时,抗噪性能较好,但丢失了方向信息,且计算量较大。因此,本系统采用了类似于Canny算子的方法,注重于先对图像进行高斯平滑滤噪,然后对图像进行边缘点增强处理,最后计算每个像素点的方向和梯度幅值作为边缘点的判别依据。具体检测流程如图2所示。

Figure 2. The flow chart of edge points detection

图2. 边缘点检测流程图

为了寻找图像中的边缘点,我们使用一个3 × 3的模板对图像中的每个像素点进行扫描,然后计算每个像素点的梯度模值和方向。3 × 3扫描模板如图3所示,其中像素点L0表示要计算的像素点,灰度值用I0表示,其相邻的8个邻接点灰度值则分别用表示,那么像素点的梯度值用公式(1)表示。而像素点的梯度方向则用8方向来表示,方向的计算使用公式(2)。像素点的梯度模值用于边缘点的检测,像素点的方向用于后续边缘连接和ROI轮廓跟踪。

(1)

(2)

判断某个像素点是否为边缘点由公式(3)确定,其中Tm和Tg分别为像素点梯度模阈值和像素点灰度阈值。对于每一帧超声视频图像,采用以下步骤进行边缘点的检测:

(1) 用3 × 3的模板对检测图像从左到右,从上到下进行逐像素点扫描;

(2) 分别利用公式(1)和(2)计算像素点的梯度模值和方向;

(3) 利用公式(3)进行边缘点判别,如果满足条件,则记录像素点的位置和方向值;

(3)

(4) 在检测图像上进行边缘点标记,输出边缘点检测结果图。

图4显示了不同阈值的边缘点检测结果,实际检测过程中,阈值的确定由用户进行检测实验后确定。

3.2. ROI轮廓的提取

经过2.1节的边缘点检测,我们可以得到图像的边缘点集合,从图4可以看出,这些边缘点实际上已经描述了ROI的大致轮廓,因此,接下来的工作就是以这些边缘点为基础,提取精确的ROI轮廓。对于ROI轮廓的精确提取,本文提出了一种ROI自动检测算法:首先,利用数学形态学方法对边缘点集合

Figure 3. 3 × 3 detection template

图3. 3 × 3检测模板

Tg = 25                   Tg = 32                  Tg = 40

Figure 4. The edge points detection results of different gray level threshold

图4. 不同灰度阈值的边缘点检测结果对比

进行筛选,过滤掉噪声、毛刺、孤立等不属于ROI轮廓的边缘点,从而获取到ROI的初始轮廓。然后,根据用户初始圈定的大致轮廓与ROI的初始轮廓的相似性策略对ROI轮廓点进行精确定位。最后,利用曲线拟合法,将精确定位的轮廓点拟合为一条光滑的曲线,得到最终的ROI轮廓。

3.2.1. 基于数学形态学的边缘点筛选

通过边缘点检测获取的边缘点集合中除了包含轮廓点以外,还包含一些与轮廓无关的毛刺点、噪声点或者孤立点,筛选边缘点就是要过滤掉这些与轮廓无关的边缘点,从而获取ROI的初始轮廓。本节将利用用户初始圈定的大致区域结合数学形态学方法对边缘点集合进行筛选。筛选的依据是ROI的最终轮廓与用户初始圈定轮廓应该是基本一致的,基于这个思想,我们首先利用数学形态学方法对二值边缘图像进行过滤操作,然后利用ROI的最终轮廓与用户初始圈定轮廓的形状相似性选取轮廓点。

数学形态学的数学基础和所用语言是集合论,它具有完备的数学基础。数学形态学的应用可以简化图像数据,保持它们基本的形状特性,并除去不相干的结构。数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4个:膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合。它们在二值图像和灰度图像中各有特点。腐蚀可以收缩目标形状的边界,而膨胀将扩张目标形状的边界。开启和闭合两种运算可以除去特定的图像细节,同时保证不产生全局的几何失真。开启运算可以使目标轮廓光滑,滤掉小的毛刺和孤立点,切断细长搭接而起到分离作用。闭合运算可以把目标内部小的缺口或孔填上,搭接短的间断而起到连通作用。为了滤除目标内部的噪声孔和目标周围的噪声块,我们首先对目标进行开启操作,然后再进行闭合操作,从而实现对边缘点集合的过滤。Matlab中有专门的函数实现对二值图像的膨胀、腐蚀、开启和闭合操作:dilate函数、erode函数、imopen函数和imclose函数。

3.2.2. ROI轮廓点的定位

本节将介绍基于轮廓相似性的ROI轮廓点选取,原理上,我们认为计算机自动识别的ROI轮廓与用户初始圈定的轮廓应该是基本一致的,即在位置上是相近的,在形状上是相似的。位置上的相近我们通过同邻域距离来判别[4] ,形状上的相似我们通过轮廓的曲率以及边缘点的梯度方向的一致性来判别。为了说明同邻域距离判别法、轮廓曲率一致性判别法以及边缘点梯度方向一致性判别法的原理,如图5

Figure 5. Accurate positioning of ROI contour points

图5. ROI轮廓点的精确定位

示,我们以ROI区域中心为原点将ROI区域等分为N个扇形子块,那么每个扇区的顶角为2 pa/N。当△较小时,用户初始圈定的轮廓点和检测到的边缘轮廓点处于同一个邻域,那么,我们可近似认为同一邻域内用户初始圈定的轮廓点和检测到的边缘轮廓点在距离上是接近的,在轮廓曲率方向和梯度方向上是基本一致的。我们将结合三种判别依据来选取最终的ROI轮廓点。

(1) 同邻域距离判别法

图像I的所有像素点集合我们用集合表示(如图5中的所有像素点);经过2.2.1节的边缘点筛选后得到的边缘点集合我们用表示(如图5中的红色的像素点),NE表示边缘点的个数;用户初始圈定的轮廓点集合我们用表示(如图5中的绿色像素点),NR表示用户圈定轮廓点的个数。设集合E和R经N个方向分割后得到的N个子集合分别为EN和RN,假设某一对分别包含了NP和NQ个像素点,则本文定义的同邻域距离判别函数为:

(4)

判决函数的值越小,候选点属于正确ROI轮廓点的概率越高。

(2) 同邻域轮廓曲率一致性判别法

设nci为ROI区域中心点(xc, yc)到候选边缘轮廓点(xi, yi)之间的单位向量,nij为候选边缘轮廓点(xi, yi)到用户初始圈定轮廓点(xj, yj)之间的单位向量,那么,对于N个子集合中某一对ES和RS,则本文定义的同邻域轮廓曲率一致性判别函数为:

(5)

判决函数的值越小,候选点属于正确ROI轮廓点的概率越高。

(3) 同邻域梯度方向一致性判别法

设Oi为候选边缘轮廓点(xi, yi)的灰度梯度方向(梯度方向的计算公式参见公式(2),Oj为用户初始圈定轮廓点的灰度梯度方向,那么,对于N个子集合中某一对ES和RS,则本文定义的同邻域梯度方向一致性判别函数为:

(6)

判决函数的值越小,候选点属于正确ROI轮廓点的概率越高。

3.2.3. ROI轮廓点的曲线拟合

经活动轮廓模型对ROI轮廓点逼近后得到的轮廓点是不连续的。为了得到连续、光滑的边缘曲线,需要对轮廓点进行曲线拟合,我们采用3次B样条对轮廓点进行曲线拟合得到最终的ROI轮廓。

4. 气泡检测

ROI轮廓检测用于自动提取每一帧超声视频图像的ROI区域,而气泡检测则是从每一帧识别的ROI区域中检测可能出现的气泡。从图像特征上来看,气泡可以描述成一组位置上临近,灰度值相近并超过某一阈值的像素的集合,也就是说,同一个气泡内的像素在位置上是相邻的,在灰度值上是相近的并且其亮度会高于背景信号,而且气泡也是有明显边界的。基于气泡在图像上表现出的这些特征,本文提出了两种方法用于检测ROI区域中的气泡:基于区域生长法的气泡检测算法和基于闭合边缘的气泡检测算法。这两种方法有各自适应性:区域生长法适合于检测很小气泡,因为小的气泡其边界特征并不明显,很难从搜索到一条闭合的边缘来圈定气泡;对于一些面积较大的气泡,它们有比较清晰的边缘,可以通过跟踪闭合边缘的算法来圈定气泡,而且当气泡的面积较大时,其相邻像素间在灰度值上经常有较大的波动,从而导致区域生长意外终止,以致无法检测到细节完整的气泡,而基于边缘跟踪的气泡检测算法正好可以克服这问题,图6显示了两种不同算法的检测结果。

4.1. 基于区域生长法的气泡检测算法

区域生长方法是一种串行区域分割的图像分割方法,它根据同一物体区域内像素的相似性质来聚集像素点的方法。在没有先验知识可以利用的情况下,可以取得最佳的性能,可以用来分割比较复杂的图像,如自然景物。区域生长的基本思想是将具有相似性质的像素集合起来构成区域。操作时,先对每个需要分割的区域找一个种子像素作为生长起点,然后将种子像素和周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。将这些新像素当作新的种子继续上面的过程,直到没有满足条件的像素可被包括进来。这样一个区域就生长成了,从而实现目标的提取。

本文的基于区域生长法检测气泡的算法步骤如下:

第1步:顺序扫描ROI区域,找到第一个没有归属区域且灰度值大于等于阈值Tbubble的像素点作为初始的种子像素,设该像素为L(x0, y0),灰度值为I0

第2步:以L(x0, y0)为中心,考虑L(x0, y0)的上下左右4个相邻的像素L(xi, yi),如果Ii ≥ Tbubble,将L(xi, yi)与L(x0, y0)合并一起加入到候选气泡区域Rj中,同时将L(xi, yi)压入堆栈;

第3步:从堆栈中取出一个像素,把它当作L(x0, y0)返回到步骤2;

第4步:当堆栈为空时,记录该区域的所有像素,返回到步骤1;

第5步:重复步骤1~4直到ROI区域中的每个像素点都有归属区域时,生长结束;

第6步:统计生长区域Rj得到候选气泡。

4.2. 基于闭合边缘的气泡检测算法

实验表明,当气泡的面积较大时,经过2.1节的边缘点检测过程后,气泡区域会显现出明显的闭合边缘线,基于闭合边缘的气泡检测算法就是跟踪ROI区域内的边缘点,找到闭合的边缘曲线即可实现对气泡的检测。为了直观地说明我们的算法,如图7所示,我们通过一个观察者沿着逆时针方向从某个初始点出发如何寻找一条闭合的边缘路径来阐述算法的实现[5] :

(a)(b)(c)

Figure 6. The detection results of two kinds of bubble detection algorithms

(a)原图  (b)基于区域生长法的气泡检测算法   (c)基于闭合边缘的气泡检测算法

图6. 两种气泡检测算法的检测结果

Figure 7. The bubble detection algorithm based on the closure edge

图7. 基于闭合边缘的气泡检测算法示意图

第1步:初始化边缘点集合(A中的所有边缘点均位于ROI区域中);

第2步:选择任意边缘点Ki为初始点,并将Ki记录在当前搜索路径Pj中,开始搜索下一个边缘点Ki+1,搜索条件为:

Ki+1必须是Ki的8-邻域点,且沿KiKi+1方向,GRatio = Ileft/Iright ≥ T。其中Ileft,Iright分别表示KiKN方向左右两侧指定相同面积区域的灰度平均值。当搜索方向为逆时针方向是,T是一个大于1的比值阈值,表示搜索方向左侧的灰度值必须高于右侧的灰度值。反之,如果搜索方向变为顺时针,则T是一个小于1的比值阈值。

第3步:如果搜索下一个边缘点Ki+1成功,则先判断Ki+1是否属于当前搜索路径Pj,如果Ki+1不属于Pj则重复步骤2,如果Ki+1属于Pj,则记录闭合路径Pclosej,然后跳转至步骤4;

第4步:更新A = A − Pj,即将当前搜索路径Pj中包含的边缘点从边缘点集合A中排除,然后返回到步骤1;

第5步:重复步骤1~4,直到边缘点集合A为空,搜索边缘点闭合路径结束;

第6步:统计所有的闭合路径Pclosej得到候选气泡。

4.3. 伪气泡排除

不论是区域生长法(3.1节)还是闭合边缘法(3.2节)检测到的候选气泡都只是在灰度值和形状上满足了气泡的特性,但事实上,这些候选气泡中可能会存在一些伪气泡,必须通过一定的方法来排除这些伪气泡。一种常见的情况是,在超声检测过程中,由于各种原因,一些小的固定组织的超声影像会出现在ROI区域中,从而导致在气泡检测过程中将这些固定组织识别成气泡,这些伪气泡我们会通过统计在视频帧序列中固定位置出现气泡的概率来排除,即如果在帧序列的气泡检测结果中,通过统计发现某一个相对固定的位置出现了高概率(大于70%)的气泡,我们则认为这是一个伪气泡而进行排除。是否应该用“连续多少帧出现”更好?

4.4. 检测结果统计分析

ROI轮廓精确跟踪和ROI中气泡检测完成之后,接下来的工作就是对检测结果进行统计分析:(1) 计算各帧ROI的面积;(2) 统计各帧包含的气泡数和计算各气泡的面积;(3) 计算各帧的ROI气泡占比,即气泡总面积和ROI面积的比值。

5. 结论

在我们研发的减压病气泡二维影像分析软件中(软件界面如图8所示),将本文的提出算法应用于ROI的轮廓精确跟踪和ROI气泡检测处理中,取得了良好的效果,对于一段十分钟左右的超声影像视频,软

Figure 8. Software main interface

图8. 软件界面图

件自动抽取约3000帧减压病气泡二维影像(每隔0.2秒抽取一帧)进行ROI跟踪和气泡自动检测分析,节约了大量的人工分析时间,并保证了较高的准确度。

参考文献 (References)

  1. [1]   Nossum, V., Koteng, S. and Brubakk, A.O. (1999) Endothelial damage by bubbles in the pulmonary artery of the pig. Undersea & Hyperbaric Medicine, 26, 1-8.

  2. [2]   Blatteau, J.E., Souraud, J.B. and Gempp, E. (2006) Gas nuclei, their origin, and their role in babble formation. Aviation, Space, and Environmental Medicine, 77, 1068-1076.

  3. [3]   马明辉, 倪敏, 徐伟刚 (2010) 气泡探测在减压病诊断和预防中的应用. 中国职业医学, 1, 61-62.

  4. [4]   原宗良, 汪源源, 余锦华, 陈亚清 (2012) 离散轮廓点集法提取超声图像前列腺边缘. 应用科学学报, 1, 89-95.

NOTES

*通讯作者。

期刊菜单