专利名称:使用视频和图像处理技术进行输液监测的制作方法
技术领域:
无/不适用联合研究协议/合同中涉及的其他方的名字:无/不适用(核苷酸和/或氨基酸)序列或程序:无/不适用本发明和下列应用有关:1.输液监测2.输液监测中条形码的使用背景技术/现有技术输液通常需要较长的时间完成。有很多的尝试试图自动监视输液过程,并且已经存在一些现有的系统。它们中的绝大多数基于对物理量的测量。对液滴滴数计数是这些方法中的一大类,它们通常使用一些光学传感设备来完成。在这一领域中有若干项美国专利,例如:1.美国专利 4,383,252Intravenous Drip Feed Monitor,其使用二极管(diode)和光电晶体管(phototransistor)来检测液滴。
2.美国专利 6,736,801Method and Apparatus for Monitoring Intravenous Drips,其使用红外或其他类型的发射极配合传感器来对液滴滴数计数。
基于液滴计数技术原理的设备通常有如下两个功能:
1.当液滴滴速和某预设值偏离太大时报警。
2.当输液过程结束后报警,以防止药液进入血管周围组织。
我们的发明从一个不同的角度来解决这些问题。我们使用一个视频/图像采集设备记录液滴滴落过程并从视频中分析出滴速。我们也检测滴管中液面的位置并在液面位置下降的时候报警通知病人。总结和概括(Summary):我们的发明有两个目的:一是监测输液速度,二是当输液结束之后发出警报。这两种功能可由同一设备,应用不同的算法完成。在下述示例性的软硬件实现中,此设备主要由一个盒体、一个视频/图像采集设备和一个处理器构成。输液器的滴管部分被放置在盒体内一个确定的位置,因此其和视频/图像采集设备的相对位置也是固定的。对于滴速监测,我们要分析一连串的图像 序列。在每一幅图像中,我们都计算相同的一种测量量,而对这个测量量的要求则是其必须具有和液滴下滴过程相同的周期性。从每一幅图像中都取得这样的一个测量量,由此对于一连串的图像序列我们会得到一个信号。为了确定液体滴速,我们对此信号进行离散傅立叶变换(DiscreteFourierTransform),并以变换所得系数中绝对值(magnitude/norm/范数/模长)最大的非常数项系数的项数(index;指第几项,并不是指总的项数)作为这一系列图像中液滴下滴过程的周期数。从周期数我们可以进而计算出滴速。在下面的讨论中我们分别给出了将测量量选取为液滴的大小,液滴的位置,以及图像中某一区域平均灰度值这三种情况下的例子。实验显示在很宽的实际滴速范围内,我们的方法都能够给出准确的滴速测量。在图3的说明部分我们对于如何选取上文所提到的”测量量”提出了一个判据,并对此判据的正确性与有效性给出了数学上的论证。这一论证确立了一个理论基础,即任何具有和液体下滴过程相同周期特征的测量量均可被选取,并由其计算出滴速。我们通过实验结果证明了此论断。为了检测输液过程的结束我们需要找出液面在滴管中的位置。然而因为下滴的液体会导致液面的起伏颤动,我们需要先计算若干帧相邻图像的平均值以消除这种起伏颤动现象。随后我们对图像进行边缘检测,并将滴管图像中最长的水平方向线段的位置识别为液面的位置。当该液面位置下降时,此设备会通过警报等方式通知病人和护士。使用条形码的目的是为了给软件算法提供必要的信息。滴管的型号、各种尺寸等信息可以帮助软件算法选取图像中合适的区域进行计算。条形码可由视频/图像采集设备读入并由软件算法加以分析,进而从中提取出所需要的信息。条形码中还可以包含有其他有用的信息,如输液袋/瓶中液体的体积,据此我们还可以在输液过程中估算出完成输液所需要的剩余时间。本发明的优越性在于:1)准确性2)经济性3)方便性。仅仅使用低成本的视频/图像采集装置,我们就可以在测定滴速上达到非常高的准确性。在实际使用中,它可以节省病人和护士难以计数的时间。
图1给出了一种可能的硬件实现图2A-2E给出了拍摄到的滴管图像和对图像的预处理。1.图2A左边显示了一幅拍摄到的图像,右边图中被矩形包围的则是进行分析的区域。2.图2B显示了垂直方向的索贝尔(Sobel)梯度算子。3.图2C显示了垂直方向的蒲瑞维特(Prewitt)梯度算子。4.图2D显示了拉普拉斯(Laplacian)算子。5.图2E分别显示了图2A中在矩形区域中的部分以及它的索贝尔,蒲瑞维特和拉
普拉斯运算结果。
图3A-3D显示了对一个序列中的数幅图像进行的分析步骤。每一幅图的左上图是原始图像,右上图是索贝尔梯度算子的运算结果,左下图是对索贝尔运算结果所做的二值化,右下图是左下图进行腐蚀(erosion)后的结果。图像标题中的数字:1.左上图标题中的数字是该图在图像序列中的项数(index,第几项)。2.右下图标题中的数字包括三个部分:
a.分号前的第一个数字是图中联通分量的个数。b.紧跟分号后的第二个数字是以像素个数计的图中最大连通分量的大小。c.最后一个数字是最大分量几何中心(centroid,质心,重心)的纵坐标。图3E给出了图3A-3D中右下图中腐蚀算法所用的核(kernel)。图4给出了使用离散傅立叶变换从一系列测量量中确定滴速的方法。1.图4A显示了从一个序列的图像中取得的如图3A-3D中的的几何中心(centroid,质心,重心)的纵坐标。2.图4B显示了图4A的离散傅立叶变换结果。3.图4C从一个序列的图像中取得的如图3A-3D中的最大连通分量的大小(像素个数/面积)。4.图4D显示了图4C的离散傅立叶变换结果。5.图4E-4F对另一个图像序列重复了图4A-4B的过程。6.图4G-4H对另一个图像序列重复了图4A-4B的过程。7.图41显示了图4A所对应的图像序列中图像平均灰度值随时间的变化。8.图4J给出了放大显示后的图41的离散傅立叶变换结果。图5A-5F给出 了检测滴管中液面位置的方法1.图5A显示了视频中连续10幅图像的灰度图像。2.图5B显示了对图5A使用垂直方向索贝尔梯度算子(图2B)的结果。3.图5C显示了对图5B做二值化的结果。4.图显示了图5C中每一行中连续线段(连在一起的点)的最大长度。5.图5F显示了图5C中每一行中连续线段(连在一起的点)的最大长度,但仅仅显示了在滴管两端以内并且不包括两端的区域内的那些行。6.图5F显示了检测到并标记出的液面和滴管底部的位置。图6A-6B显示了如何使用条形码向监测设备提供信息。1.图6A显示了一个典型的条形码的示例。2.图6B显示了对图6A的扫描结果。图7显示了文中若干算法的流程图1.图7A显示了一种滴速监测的实现的算法。2.图7B显示了一种报警功能的实现的算法。3.图7C显示了一种条形码读取的实现的算法。
-幅图中的数字标记11 盒体12视频/图像采集设备13处理器14 光源15盒体外的显示设备16 滴管17固定在盒体内壁上的条形码标签详细说明
引论这项发明的第一个目的是确保输液的安全。在医疗实践中,人们常常对重力输液的滴速有特定的要求。新生儿、成人、心血管疾病病人以及肾病病人等不同的病人对输液速度都有着不同的要求。如果液体的实际滴速和医生指定的速度差别太大的话,则有可能对病人产生不良影响。在极端情况下,甚至可能威胁到病人的生命安全。这项发明的第二个目的是确保输液疗法的疗效。许多药物都对给药的速率有特定要求。如果滴速过快或者过慢,则达不到所需要的疗效。这项发明的第三个目的是节省护士和病人的时间。在普通的重力输液过程中,护士和病人都需要经常性地检查滴速并在滴速误差过大时及时做出调节,而这一过程占用了他(她)们大量的时间和注意力。同时,准确的剩余输液时间也很难估计,这使得无论是护士还是病人都难以将其他事项和输液并在一起在时间上统筹安排。在当前的医疗实践中显然已经存在解决这些问题的方案,如使用输液泵。然而输液泵的高昂价格(通常都在1000美元以上)限制了它们在普通治疗中的使用,尤其是在发展中国家。除了输液泵之外,市场上也存在用红外信号等手段测定滴速的设备。本发明人并没有机会能够试用这类设 备,因此不能对它们的性能做出评价。在这项发明中,我们阐明了一种不同于输液泵和红外检测手段,而是使用视频和图像处理技术来测量液体滴速的准确并且低成本的方法。我们的方法在一个对于医疗实践中的实际滴速显得绰绰有余的很宽的一个滴速范围内都能够测得准确的结果,并且由于其仅仅需要一个低分辨率和低帧率的视频/图像采集设备和一个低成本的处理器,因此具有很高的经济性上的优势。除了测速之外,这一设备还具有检测滴管中液面位置的能力,因此能够在输液结束液面行将下降之时及时向护士和病人报警,从而防止了由于没有及时关闭输液器而使血液由于血压向输液器内倒流的情况。在下面的说明中我们会详述这项发明的各项细节。图1-硬件和机体结构的一个示例11是一个由不透光的不透明材料制成的盒体,选用不透光的材料的目的在于阻止外界的光线进入盒内,从而为视频/图像采集设备提供一个理想且恒定的照明环境。12是一个固定在盒体门上的视频/图像采集设备。当盒体门关闭时此视频/图像采集设备的方向会朝向滴管。13是一个具有对采集到的视频/图像独立做出分析的能力的处理器。14是位于盒体内的一个光源,它的目的是为了给视频/图像采集设备提供一个理想的照明环境。15是盒体门的外侧。它可以将当前的滴速、剩余时间等信息在一个低能耗的显示设备上显示出来,比如一个IXD屏。16是一个放置在盒内的滴管,其两端的位置均以固定。17是一段条形码,它可被视频/图像采集设备读取,从而向软件算法提供输液过程的有关信息。18是一个远程监控中心,它可以对一批视频/图像采集设备采集到的视频/图像进行分析处理,完成每一个视频/图像采集设备单独配对的处理器(13)所完成的任务。图2_(图像的)预处理
我们在这里给出一个示例,该示例使用解析度为320X240,帧率为每秒15帧的视频/图像采集设备。作为电子设备上的一种常见元件,这种规格的视频/图像采集设备只需要几美元的价格就可以从中国的制造商那里购买到。图2A是一幅由上述视频/图像采集设备采集到的图像,其中滴管位于图像的中央。在图2A的右半部分中我们用一个矩形标示了我们真正将要对图像进行分析处理的区域。为什么我们要在图像中指定这样的一个区域?我们注意到:1)这块区域从滴管中滴嘴的底端一直延伸到滴管的中部2)液面的位置并没有被包括在内。选择这样一块区域的原因是为了用最小的成本实现最高的准确性。倘若不需要考虑成本,那么我们完全可以使用具有更高解析度和帧率的高端视频/图像采集设备。在极端(使用最好设备)的情况下,我们用和实验室中用高速摄像机拍摄下落物体的轨迹一样的方式拍摄液滴下落的过程。配合使用具有强大计算能力的处理芯片,我们可以对包括滴速在内的各种参数进行测量。然而如果需要这样高额的成本,那么在商业上这个设备和输液泵相比则并没有竞争力,从而很有可能我们发明的产品并不会有很好的市场前景。由于我们志在降低成本,因此完整地分析液滴下落的全过程并不是一个非常现实的做法。滴管的最大全长通常小于5厘米(2英寸),而滴管中液面的高度通常会超过I厘米(0.4英寸)。因此,液滴从滴嘴下落至到达液面经过的剩余距离通常小于4厘米(1.6英寸)。假设不存在空气阻力,那么液滴下落至液面需要的时间约^2h/g = V2 X 4 X IO-2 = 0.0903秒。视频/图像采集设备的帧率是15,从而相邻图像拍摄的间隔时间是1/15 = 0.067秒。虽然这个相邻帧之间的时间间隙仍小于液滴下落所需要的时间,然而拍摄一两幅模糊的(由于液滴下落的速度)液滴下落过程的图像并不会对分析有多少助益。然而如果我们将注意力集中在液滴在滴嘴处体积由小逐渐增大并最终落下的,相对缓慢得多的形成过程,则这其中就已经包含了足够多的我们可以用来确定其周期特征(滴速)的信息。事实上,这正是我们在此示例实现中使用的方法。另一个问题是为什么 我们不降注意力集中在液面?下落的液滴会激起液面的起伏颤动,这一现象也可以用来确定滴速。液面的起伏虽然较之液滴在滴嘴处形成的过程为快,然而却通常慢于下落的过程。这个方法是可行的并且我们不应该将它排除在外,然而即使是使用这种方法,其确定滴速的根本原理和我们在此示例实现中用到的都是一样的。前面我们讨论了选择图像中一小块区域进行分析的原因。因为相较与下落和液滴在液面激起的起伏颤动,液滴的形成是最缓慢的,因此我们出于计算上的各种优越性和其对视频/图像采集设备的低要求而选择其加以分析。在后续的说明中我们会看到,滴速的确定是通过对采集到的信号进行离散傅立叶变换实现的。不论我们从图像中的那个部分采集信号,确定滴速的根本原理都不会改变。因此,本说明中选取图像某一特定部分进行的分析仅仅应当被理解为一种为了讲清楚原理和方法所给出的示例,而不应当被理解为和用作对本发明所要求保护的范围的限制。至此仍有一个没有解决的问题:在图像中如何确定分析区域(窗口)的位置?在这一示例性实现中图2A右侧中矩形所标识的分析区域的位置和大小是人为指定的,然而在真正的产品中该如何处理?当然,设备可以对图像中的内容进行物体/目标识别,对滴管的各部分进行分析并最终自动选取分析窗口。这一方法是可行的。因为图像中的内容并不复杂,加之滴管被固定在盒体内一个确定的位置,所以识别并不会十分困难。然而,即使我们能对某种滴管的各部分能做出准确的识别,就能同样保证对其他类型的滴管都能识别准确吗?识别算法在一种类型滴管上的成功并不能确保对其他类型滴管的同样成功。更重要的一点是,在医疗领域错误是不被容许的。我们对这一问题的解决方法是使用条形码。参见图1的17部分,视频/图像采集设备可以拍摄条形码并经软件算法提取出输液过程各方面的信息,其中包括输液滴管的类型和型号。对于不同类型和型号的滴管我们会选取不同的分析窗口进行相应的分析。接下来我们说明如何对图像进行增强/如何使得图像更便于分析。图2E中的第一幅图是图2A中矩形窗口中的内容。这是一幅灰度图像,从其在整幅图像中的位置我们可以知道图中上端较亮的部分是一个正在形成中、并且正在反射光线的液滴的下部。为了能够更方便地使用计算方法取得图像中的信息我们使用对其使用数字图像处理技术进行增强。图2B是一个垂直方向上的索贝尔(Sobel)梯度算子,图2C是一个垂直方向上的蒲瑞维特(Prewitt)算子,图2D是一个拉普拉斯(Laplacian)算子。有关这些算子的介绍请参看[Digital Image Processing, 2ed, Prentice Hall, 2002, Gonzalez,Woods] 一书第三章和第10.13小节的内容。图2E中的第二、三、四幅图分别显示了对第一幅图应用索贝尔,蒲瑞维特和拉普拉斯算子的效果。在图2B和2C中我们仅仅给出了垂直方向上的索贝尔和蒲瑞维特算子,然而图2E中现实的是应用对应的”全”梯度的结果。更精确的说,我们通过将水平和垂直方向上算子运算结果的绝对值相加来得到对其梯度绝对值的一个逼近:Gradient = Gx | +1 Gy这是数字图像处理中的一个标准做法。具体请参考[Digital Image Processing,2ed, Prentice Hall, 2002, Gonzalez, Woods] 一书的第 579 页。
从图2E中我们看到,索贝尔梯度给出了灰度值强度范围最大,对比最为明显的结果,并比蒲瑞维特梯度的结果更为明亮。拉普拉斯算子的结果灰度之强度范围最小,对比度最弱。不论是蒲瑞维特,拉普拉斯还是不计其数的其他各种各样的增强技术,乃至包括在图像频域中所做的滤波,都各有其独特的作用和实用价值,然而它们共同的目的却都是为了增强图像中的一些显著的特征。因此虽然我们在接下来的后续步骤说明中使用的是索贝尔梯度运算的结果,这一选择却仅仅应当被视作一种为了说明问题所给出的示例,而并非是对本发明所要求保护的范围的限制。图3-从图像中提取特征信息下面我们说明如何从视频(图像的序列)中提取数字特征信息。图3A中包含4幅图像,第一行左侧是视频中的原始图像,右侧是索贝尔梯度运算的结果。在原始图像的顶端有一个数字显示了该图像在图像序列中的项数(index,第几项)。因此”原始第30幅图像”说明图像是序列中的第30帧。第二行左侧是对索贝尔梯度运算的结果再依据阈值进行二值化(thresholding)的结果,而图像上方标题中的”大津法”表明阈值是根据(大津展之(Nobuyuki Otsu)的算法自动选取的,因此这个过程并不需要人工干预。根据阈值做二值化的目的是为了将索贝尔梯度的灰度值图像结果转成二值图像。第二行的右侧是对二值图像进行腐蚀(erosion)的结果。为什么我们需要做腐蚀操作?其目的是为了消去一些不必要的,相对较小的点。在图3B-3D中我们看到二值化的结果包含了若干个连通分量,而其中绝大多数的连通分量都是不必要的,这一点在图3D中尤为明显。我们这样做的依据是:液滴反光形成的亮斑是图像中几个较亮的区域中最大的一块,因此我们不需要对其他较小的亮斑感兴趣。因此腐蚀对我们来说仅仅是将这些较小部分消除的一个工具。在图3E中我们给出了腐蚀所用的核(kernel)。当然,对于由更高解析度视频/图像采集设备拍得的图像我们应当选择更大的核。腐蚀是数字图像处理中一项基本的形态学(morphology)运算。有关其细节请参见[Digital Image Processing, 2ed, Prentice Hall, 2002, Gonzalez, Woods]的第九章。经腐蚀后的图像的标题包含三部分。第一部分是图像中连通分量的个数。在此示例实现中我们使用的是8邻接(8-connectivity/8_adjacency)的定义,然而在实际产品的上的实现中我们既可以使用8邻接也可以使用4邻接(4-connectivity/4_adjacency)。对于什么是 8 邻接和 4 邻接请参见[Digital Image Processing, 2ed,Prentice Hall, 2002,Gonzalez,Woods]的第2.5节。标题的第二部分是以像素个数计的最大连通分量大小。第三部分是最大连通分量几何中心(centroid,质心,重心)的纵坐标,即其所含各像素纵坐标的平均值。举例来说,图3D右下角图像的标题是“7 ;26,11.77”,这表示图像中含有7个连通分量,其中最大的连通分量的大小以像素个数计为26个像素,其纵坐标的平均值是
11.77。图3A-3D中的原始图像来自序列中的第30,33,37和38幅图,我们之所以没有将图像按前后紧密相连的顺序放在这里是为了节省说明部分文字和配图所占用的空间。将第30和33幅图像比较,我们看到液滴的大小在增大并且其位置在降低。这一趋势在梯度、二值化和腐蚀结果中均很明显。最大分量包含的像素数由11增加到17,其纵坐标平均值由
6.727增加到9.529,这两点都是和我们观察到的液滴变大和位置降低的趋势是一致的。图3C是序列中液体已然开始下落的第37幅图像。重力已经将液滴拉长,这一点同时在梯度、二值化和腐蚀的结果中都很明显。和图3B相比其最大连通分量的纵坐标由
9.529增加到14.76,然而其所包含的像素数却并没有变化。图3D是序列中的第38幅图,这幅图中的内容并不像前面几幅图那么清晰。在图像的中央位置有一块较为明亮的亮斑,但我们难以判断这块亮斑是一个下落液滴的头部或尾部,亦或是由于滴管表面对光的反射。在图像的上端又有一个正在形成的液滴。这幅图的梯度、二值化和腐蚀同样难以解读。二值化结果中包含有数块大小不能轻易忽视的部分,即使再经过腐蚀这些连通部分也为数不少,并且腐蚀的结果图像和原始图像看上去在特征方面并不是完全一致。这一结果是否说明我们的算法在正确性方面是存疑的?这是我们在论证整套方法的正确性之前必须回答的一个非常重要的问题。我们可以通过数学的论证来证明算法的正确性:因为液滴滴落是一个周期性过程,因此捕捉到的图像序列也是具有周期性的。算法本身是一个固定的、机械的(指机械地执行特定的步骤)流程,因此对于相同的输入其总是得到相同的结果。因而机械流程对于周期性输入信号的输出也是周期性的。用符号来表示这一事实:`图像(t+T)=图像⑴因此F(图像(t+T)) = F(图像⑴)因此即使在提取的特征信号中存在着像图3D这样的“噪声”,我们仍然能够保证在一定时间上采集到的信息是一个周期信号。因为这个周期信号的周期性和液滴滴落过程的周期性是一致的,我们可以用离散傅立叶变换从中计算出滴速。不仅如此,正如我们在前文关于图2的说明中讨论过的,液滴的形成相对于其下落来说是一个缓慢得多的过程,因此对于一个图像序列中的绝大多数图像,我们的算法都可以从中提取出特征明显的信息,因此最终取得的特征信号的周期性并不会因为很小一部分的异常信号而改变。上面这些关于周期性的数学讨论具有非常根本的重要性。其在一个非常基础的层面上指出了不论是从图像中取得的哪一种测量量,只要这种测量量能够忠实得捕捉到液滴滴落过程的周期性,这种测量量就可以被用来确定滴速。因而,虽然在这一示例性的实例中出于计算效率和对视频/图像捕捉设备成本的考虑我们主要分析的是液滴的形成过程,但是从原理上来说我们的方法也同样允许分析液滴的下落过程、液滴在水面激起的起伏颤动、以及其他难以计数的可以想象到的测量方式。我们提取的信号同样不必局限于图像中最大部分的像素个数/面积或垂直方向位置,而是可以扩展到其他任何和液滴滴落过程表现出了相同的周期性的可计算量。例如,倘若某一特定区域内总体的明亮度(灰度值)由于液滴对光的反射而发生周期性的变化,那么这个量也同样可以被用来确定滴速。另一个问题为什么我们选用腐蚀(erosion)来消去那些较小的部分?事实上这里并没有什么内在的,固有的原因使得我们选择腐蚀而非其他的方法;腐蚀只是用于消除图像中不必要的部分的众多方法中的一种。在此示例性的实例中我们对腐蚀过后图像中剩余的各个连通部分依据像素数/面积进行了排序,然而在排序之前我们也可以略去腐蚀这一步骤,而仅是丢弃掉那些较小的区块。我们在此需要再次强调,本实例实现中所采用的处理方法仅仅是捕捉液滴滴落过程周期性的众多方法中的一种,而其他各种各样的方法,只要能够捕捉到同样的周期性,则都能工作。具有根本性意义的则是对提取的特征信号应用离散傅立叶变换从而确定液滴滴落的周期。图4-通过离散傅立叶变换确定滴数对于图3A-3D所对应的图像序列(视频)中的每一幅图我们都计算了两个数质量:1)最大连通分量的像素数/面积2)最大连通分量的平均纵坐标。总这两项信息中的任何一项我们都可以立刻计算出滴速。图4A显示了一个包含180幅图像的序列中每一幅图像中提取出的最大连通分量的平均纵坐标。这个信号中的周期性非常直观明显,因此我们可以很容易的数出其中的周期数。在每一个周期中平均纵坐标单调上升,这一点和液滴在重力的作用下下落是一致的。我们应该如何求出其中包含的周期数?如果缺乏数字信号处理方面的知识,那么不少人可能会试图去数这个信号中的“局部峰值”。在某些的情况下这种简单原始的方式是有可能成功的,但是在多数情况下都很容易出错。数字信号处理领域中标准的方法是对这一信号首先进行离散傅立叶变换,随后找出变换结果中具有最大绝对值(magnitude/norm/范数/模长)的对应信号中非常数分量的频谱分量。图4B给出了对图4A进行离散傅立叶变换(DFT)的结果。最大值位于零处,代表信号中恒定的平均量(直流分量),然而这个分量与信号的周期性并无关系。除去零这一位置剩余的部分是对称的因此我们只需要在相对 称的两部分中的任何一部分中找出最大值,在这里我们选择左半边。我们发现最大值位于坐标(13,354),说明354是信号中最强分量的傅里叶系数,并且在180幅图像中这个信号重复了 13个周期。有关离散傅立叶变换(DFT)的介绍请参见[Discrete-Time Signal Processing,2ed, Prentice Hall, 1999, Oppenheim, Schafer, Buck] 一书的第八章。由此我们可以立刻计算出滴速:180/15(每秒钟的帧数)=12秒在12秒内信号重复了 13次因此,滴速是13X (60/12) = 65滴/分我们查看了这段信号所对应的原视频,人工数出的滴数是67滴/分钟。这实际上和我们计算所得的结果是一样的,因为即使是人工计数数出的也不一定是整数滴数。如果滴速是完全恒定的,那么12秒内会有67/6 = 13.4滴。因为离散傅立叶变换只计算整数项对应的傅立叶系数,因此13和13.4在这一意义上是相等的。图4C显示了相同的图像序列中最大连通分量像素个数/面积的变化。笼统地说,最大联通分量的像素个数/面积在每个周期内先增加后减小,这和液滴的形成与下落是对应一致的,但是这一 较弱的规律性有不少的意外。直观上人工计数也要困难得多,更不要说使用简单原始的“局部峰值”计数了。然而,图4D中的离散傅立叶变换仍然为我们做出了正确的决定并识别出了 13次重复。因此,我们得到了和图4B中一样的65滴/分钟的结果。图4E-4F对一个由180幅(12秒)图像构成,实际人工计数所得滴数是117滴/分钟的液滴滴落过程重复了图4A-4B中的运算,所得结果是23X (60/12) = 115滴/分钟。图4G-4H对一个由180幅(12秒)图像构成,实际人工计数所得滴数是26滴/分钟的液滴滴落过程重复了图4A-4B中的运算,所得结果是5 X (60/12) = 25滴/分钟。 从这三个例子中我们可以得出本方法所确定的滴速是非常准确的的这样一个结论。在实际中滴速很少低于30滴/分钟或高于120滴/分钟,而我们的方法对极端及中间速率都能够很好地工作。这些例子同时也说明,相对于最大连通分量的像素数/面积,其纵坐标是一个更好的测量量。但即使是在使用最大连通分量的像素数/面积这一测量量并导致我们人工计数出现困难的情况下,我们的方法仍然能够计算出准确的滴速。事实上在两个极端滴速情况下也是如此(26滴/分钟和117滴/分钟)。这些事实证明了我们数学论断的正确性,即任何准确地捕捉到了液滴滴落过程周期性的测量量都可以用来测定滴速。图41-4J是最后一个用于显示和证明(demonstrate)在测量量的选择上我们有多大的自由度的一个例子。在这个例子中选择的是和图4A-4D对应的同样一个图像序列。没有做梯度,没有做二值化,没有做腐蚀,我们仅仅计算了序列中每一幅图像的平均灰度值。在图41中这一过度简单的测量方法仍然显示出了周期性,而图4J中的离散傅里叶变换仍然找出了和图4B、图4D结果相同的周期数。这最后一个例子的目的是为了再次强调,我们计算滴速的根本性方法是离散傅里叶变换的使用,而并非某一个特定测量量的选取。最大部分的像素数/面积和位置仅仅是一种可行的实现方案,他们仅应当被理解为为了说明清楚问题所给出的示例,而并非是对本发明所要求保护的范围的限制。非常广泛的、各种各样的测量量都可以被用来实现我们的目的。图5-当输液过程结束时报警
我们在这里再说明本发明的一个关键功能:当输液过程结束时报警。相对于滴速监测来说,这是一个相对简单的工作。当药液容器内的药液滴完后,滴管中的液面会下降,因此我们需要找出液面的位置,并在这一位置开始下降的时候触发警报。这是基于边缘检测来实现的。图5A是视频中连续10幅图像的平均图像。为什么我们要求图像的平均?这是因为如果我们从视频中任取一幅图像,有可能这幅图像拍摄于液面被下落的液滴激起起伏颤动的瞬间,在这个时刻液面存在着振动,因此会带来检测上的困难。对连续图像取平均值可以显著地削弱这一现象,并且不论我们取平均值的一连串图像从哪里开始,平均图像中的液面总是近似水平的。图5B将图2B中的垂直方向索贝尔梯度算子应用到了图5A上。因为我们仅检测水平方向上的边缘,因此只使用垂直方向梯度算子就足够了。除此之外还有无数的其他方法,包括在空间域(spatial domain)和频域(frequency domain)做滤波,都可以达到这个目的,因此我们在这里选择使用的的索贝尔梯度算子仅应当被理解为为了说明清楚问题所给出的示例,而并非对本发明所要求保护范围的限制。图5C对图5B做了二值化,而二值化的阈值是由大津展之算法确定的。这将图5B的灰度图像转化成图5C的二值图像,使得我们能够更方便地使用计算方法取得图像中的信息。图显示了图5C中每一行的最大连续像素数目。我们可以清楚地看到较高的数值对应着一些较为明显的水平方向线段,而最高的数值集中在图像中的边缘和滴管的底端。图中有若干个较高的连续像素数目,到底哪一个才是液面的位置呢? 一种方法是几个较高高连续像素数目中所在水平位置较高的一个,因为液面的位置不可能低于滴管的底部。像这样的一些判据听起来似乎言之成理,但是其逻辑和理论基础却不坚实。我们需要更为可靠的判据来确保医疗实践中的安全性。假设我们已经知道滴管各种的各种尺度,同时因为滴管是固定在盒体内的(见图1)并且视频/图像采集设备的位置也是固定的,因此在图5C中滴管的顶部和底部的位置也是确定的。因此我们就没有必要计算在这两个边界及它们以外的每行中最大连续像素的个数,而经过这一简化我们得到了图5E。图5E中单独的一个最高值指示了液面的位置。在图5F中检测到的液面位置和已知的滴管底端位置被一起标出。当着两个位置接近时,此设备将会发出警报告知病人和护士。我们如何能够知道滴管的各种准确尺度呢?这同时又提醒了我们在图2的说明中提到的一个仍未解决的问题:如何确定图像中进行计算分析的窗口 /矩形区域的位置?我们前面说过过这一问题将借助条形码来解决,接下来在图6中我们将该问题和在液面检测这里遇到的新问题的解决方法放在一起讨论。图6-使用条形码图6A显示了条形码的一种编码方式,这种编码方式被称为通用产品代码(Universal Product Code, UPC)。黑色的横条代表I,白色的横条代表0。在条码的顶端、中部和底端有一些较长的横条,它们分别表示一些特殊的序列101,01010和101,识别程序可以从顶端或底端这些特殊序列中检测出单根(单位)横条的宽度。所有其他看上去比单根(基本)横条更宽的横条都是由单位横条构成的。条形码的图像可以被拍摄到,程序将会向下(或向上)找出第一段连续的黑色宽度,用以像素数计的宽度大小作为后续扫描依据的基本单位宽度。接下来程序会继续向下扫描,以基本宽度为单位测量每一段黑色或白色宽度的大小(除以基本宽度),并在这一过程中丢弃掉顶端、中部和底端的特殊序列(详细的细节请参见UPC标准)。每一个十进制数字由七个单位宽度表示,在中间的特殊序列前后各有六个十进制数字。程序会将黑色单位宽度转换为I,白色单位宽度转换为O,由此生成如图6B所示的每一个十进制数字所对应的比特序列。图6B中的比特序列将依据对应的条形码编码方式被解码到其所表示的十进制数字。当然,上面示例中使用通用产品代码标准是为了讲清楚概念,我们也可以专门为输液监测设计一套编码方案。这些十进制数字可以用来表示任意的信息:1.可以在一定的范围内(某所医院,某个国家,或国际上)制定输液容器使用的条形码的标准,使得十进制数序列的不同部分如同一个文件中不同的节(段)一样表示不同的信息。例如,前五个数字可以表示药物种类,接下来的三个数字表示药液容积,再接下来的三个表示对给药速率的要求,等等。尤其是在一个全球性的这种标准已经建立的情况下,此标准的解读信息可以被存储在硬件的内部存储器之中,从而监测设备不需要再向某中央服务器查询特定标准的解读信息就可以独立工作。2.也可以使用非标准的编码方式,如某医院的内部编码。在这种情况下,更为方便的做法是监测设备先将读取到的条形码发送到某中央服务器,然后从服务器读取解码后的信息。条形码标签可由药品生产商或医院打印在类似于带有黏胶的贴纸的表面上。在给药时标签会像图1中一样放在盒体的内壁上。因为标签被放置在一个固定的区域,所以程序不需要通过任何识别 算法来在图像中找到标签的位置。从条形码提供的信息中我们可以知道滴管的型号和准确尺寸,从而回答了在图2和图5的说明中提出的问题。这些信息可以让设备知道其应该在图像中的哪个部分进行分析和在哪一块区域检测液面。除了这两种信息,条形码还可以告诉程序药液的容量。由于滴速可以被监测并且容量已知,已给药和剩余的药量也都可以计算出来。根据滴速设备可以估算输液完成需要的剩余时间。这在世界范围内可以为病人和护士节省难以计数的时间。我们使用条形码向监测程序提供信息,它的使用增强了原有配置的功能。也可以使用二维条形码或其他的编码方式,它们都可以从拍摄到的图像中获取并处理。因此,图6中具体的例子仅应当被理解为为了说明清楚问题所给出的示例,而并非是对本发明所要求保护的范围的限制。致谢我们在此声明,作为为了说明问题而使用的编程环境,我们使用了 TheMathworks, Inc.公司的MATLAB 7.6.0.324(R2008a)软件,我们对此表示感谢。本发明在实际中的软硬件实可以使用任何合适的编程语言来实现其逻辑。
权利要求
1.我们要求如下的权利:一种用于输液监测的装置,包括 a)可将输液滴管部分或全部置于其内的盒体; b)一个可拍摄液滴下落过程的视频/图像采集设备,例如一摄像设备; c)一个可对拍摄的视频进行分析的处理器 以及一种用于输液速度监测的方法,基于 d)任何从图像序列中取得的,并且和液滴滴落过程具有相同周期性的测量量e)使用傅立叶分析方法测量滴速
2.根据权利要求1所述的方法和装置,并测量液滴在形成和下落过程中的垂直位置,然后通过傅立叶分析方法从信号中确定滴速。
3.根据权利要求2所示的方法和装置,并且其使用傅立叶分析方法确定滴速是通过 1)每秒拍摄若干(如N)帧图像,持续若干(如L)秒。
2)从每帧图像中提取出一个可以表征液滴在形成和下降过程中垂直位置的数。
3)对存储2)中数字的向量做离散傅立叶变换,以O至NL-1标记总计NL个频谱分量。
4)除去对应平均(恒定)部分的O位置的频谱分量,在频谱分量
4.根据权利要求3所示的方法和装置,并且在权利要求3的第2步中,提取一个表征液滴垂直位置的数是通过如下步骤完成的 1)使用空间域方法锐化图像,如使用梯度算法及其不同变种;或在频域中滤波。在这里空间域和频域方法在功能上是等价的。
2)使用可以包括但不限于二值化的方法,将经或未经I)步锐化的图像转换成二值图像。阈值可由非监督式(unsupervised)方法如大津展之法(Otsu’s method)选取,或者使用其他的方法,包括选用一个预先确定的值。
3)使用图像形态学的腐蚀(erosion)方法,后续可使用或不使用膨胀(dilation),在保留较大连通区域的同时消除/消去二值图像中的较小块/区域。
4)从步骤2),或步骤2)接步骤3)的二值图像结果中,通过找出最大连通分量并且计算出一个能够表征其垂直位置的数的方式来找出液滴的位置,这个数可以是最大连通分量包含像素点的平均纵坐标,但不限于此。
5)任何方法1)-4)的全部或部分的组合,或其等价或类似的可替代的方法,组成任何逻辑上有序的处理步骤,用以生成一个可以表征液滴垂直位置的数。
5.根据权利要求1所示的方法和装置,并测算(measure)形成和下滴过程中液滴的大小,然后通过傅立叶分析方法从信号中确定滴速。
6.根据权利要求5所示的方法和装置,并且其使用傅立叶分析方法确定滴速是通过 1)每秒拍摄若干(如N)帧图像,持续若干(如L)秒。
2)从每帧图像中提取出一个可以表征液滴在形成和下降过程中大小的数。
3)对存储2)中数字的向量做离散傅立叶变换,以O至NL-1标记总计NL个频谱分量。
4)除去对应平均(恒定)部分的O位置的频谱分量,在频谱分量(
7.根据权利要求6所示的方法,并且在权利要求6的第2步中,提取一个表征液滴大小的数是通过如下步骤完成的 1)使用空间域方法锐化图像,如使用梯度算法及其不同变种;或在频域中滤波。在这里空间域和频域方法在功能上是等价的。
2)使用可以包括但不限于二值化的方法,将经或未经I)步锐化的图像转换成二值图像。阈值可由非监督式(unsupervised)方法如大津展之法(Otsu’s method)选取,或者使用其他的方法,包括选用一个预先确定的值。
3)使用图像形态学的腐蚀(erosion)方法,后续可使用或不使用膨胀(dilation),在保留较大连通区域的同时消除/消去二值图像中的较小块/区域。
4)从步骤2),或步骤2)接步骤3)的二值图像结果中,通过找出最大连通分量并且计算出一个能够表征其大小的数的方式来找出液滴的位置,这个数可以是最大连通分量包含像素点的个数,但不限于此。
5)任何方法1)-4)的全部或部分的组合,或其等价或类似的可替代的方法,组成任何逻辑上有序的处理步骤,用以生成一个可以表征液滴大小的数。
8.一种用于检测树叶过程结束的装置,包括 a)可将输液滴管部分或全部置于其内的盒体; b)一个可拍摄液滴下落过程的视频/图像采集设备,例如一摄像设备; c)一个可对拍摄的视频进行分析的处理器 以及一种用于检测液面的方法,基于 a.求一个序列图像的平均图像以消除由于下落液滴导致的液面起伏颤动的现象。
b.使用空间域方法锐化图像,如使用梯度算法及其不同变种,特别是求垂直方向上梯度的算法;或在频域中滤波。在这里空间域和频域方法在功能上是等价的。
C.使用可以包括但不限于二值化的方法,将经或未经I)步锐化的图像转换成二值图像。阈值可由非监督式(unsupervised)方法如大津展之法(Otsu’s method)选取,或者使用其他的方法,包括选用一个预先确定的值。
d.在经3)得到的二值图像中的每行内找出最大的连续点数,或仅是总像素数,并将结果存入一向量。
e.在4)生成的向量的全部或部分区间内找出对应液面位置的最大值。前面提到的向量中的区间既可以是一个确定值,也可以是用户输入,或是从条形码取得的信息。
以及一种检测输液过程结束的方法,其将第5)步找出的向量最大元素所在行的行数与滴管底部对应的行数比较,并在两者距离足够小时触发警报。
9.一个可以经由视频/图像采集设备读取向输液监测设备和程序提供信息的,带有条形码的标签或印制品。
10.根据权利要求9所述的标签或印制品,并使用条形码向输液监测设备和程序输液滴管类型/型号的信息。
11.根据权利要求9所述的标签或印制品,并使用条形码向输液监测设备和程序输液滴管的各种物理测量量的信 息。
全文摘要
用于监测输液过程和检测其结束的一种装置,包括一视频/图像采集设备(12)和用于处理视频中信息的处理器(13)。视频包含的图像序列中的特征信息被提取,随后使用离散傅立叶变换方法算出滴速。这一装置也可以通过找出输液滴管(16)中液面的位置来检测输液过程的结束。我们也使用条形码(17)来向监测设备和程序提供信息。
文档编号A61M5/172GK103179995SQ201180033102
公开日2013年6月26日 申请日期2011年5月9日 优先权日2010年7月15日
发明者陶锴 申请人:陶锴