APP下载

基于图像识别的采血管血清液位检测

2021-03-26侯剑平赵万里段忆芮

传感器与微系统 2021年3期
关键词:血凝形态学液位

刘 聪, 王 超, 侯剑平, 赵万里, 段忆芮

(安图实验仪器(郑州)有限公司,河南 郑州 450016)

0 引 言

随着国内医疗体制的不断完善,采用抽血检验的方式来检测人体的一些健康指标是非常普遍的一种途径,其中血清检测主要用于生化检验项目和免疫检验项目两大部分。一般流程是用采血管收集患者血液,然后通过各种医疗仪器实现各项检测。采血管中的血液一般需要在进行检测前进行离心,将血清与血凝块进行分离,然后再经过血清质量检测以去除问题血清[1,2],确保采用正常的血清进行各项临床指标的检测。对于正常的血清,需要通过仪器的样本针抽取一定量的血清进行检测,但实际上由于采血管中采血量的不同,若血清量不足时,会出现抽取到部分血凝块的情况,影响实际的检验结果。若能够检测出采血管中血清的上下液面位置,则可以准确得到采血管中的血清高度,进而根据采血管的规格得到采血管中的血清量,因此可以有效地对血清量过少的情况进行提示。而且,可以根据采血管中血清的上下液面位置调节样本针位置确保采到正常血清,避免出现抽到血凝块,或无法抽到血清的情况。

随着计算机技术的飞速发展,相机制造技术也已达到很高的水平,光学镜头的几何畸变已逐渐减小,这使得基于图像识别的测量方法应用广泛。而应用图像识别技术进行液位检测已经应用到多个行业[3~5]。陈露等人将机器视觉技术应用于红酒灌装后的液位检测[6],姚坤等人将OpenCV图像识别技术应用于透明瓶装无色液体液位实时检测[7],李家栋等将机器视觉技术应用于薄带铸轧熔池液位识别[8],张宁等将图像识别方法应用于吸量管液位检测[9],李博文将机器视觉方法应用于饮水机取水杯液位检测[10]。但目前没有人将图像识别技术应用于采血管中液位的检测。本文采用图像识别的方法实现采血管中血清上下液位高度的检测,实现了血清液位的自动化检测,可用于自动化提示血清量不足,以及自动化调节探针采集血清。

1 检测系统

实验中搭建的液位检测系统硬件平台主要包括相机、发光二极管(LED)点状光源和用于图像处理的计算机等。该系统的主要原理为:对于一条水平方向运行的传送带,在传送带一处的旁侧位置安装相机,并在相机左右两旁对称安装高亮LED点光源,分别与相机拍摄方向成30°夹角。在相机拍摄位置一侧安装光电传感器。当采血管到达指定位置时,即可触发光电传感器,开始图像采集。图像的采集应该在光照充足的环境下进行,目标的拍摄背景为一块表面粗糙的白色挡板,这样可以尽量减少由于背景颜色问题对采血管血清液位检测带来的影响。硬件系统结构框图如图1所示。

图1 硬件系统结构图

2 图像处理

对于采血管中血清上下液位的提取,主要包含以下步骤:读取图像、中值滤波、RGB颜色分离、二值化、形态学处理、图像分割、液位识别。待识别图像如图2(a)所示。

2.1 中值滤波

由于受拍摄环境的影响,拍摄得到的图像可能会存在噪声。而常用的去噪方法通常是对图像进行平滑处理。如:均值滤波,中值滤波,高斯滤波等。中值滤波是一种既能有效减少噪声,又能减少图像边缘影响的方法。中值滤波的基本原理是将每一像素点的灰度值设置为该点某邻域窗口的所有像素点灰度值的中值。本文采用5×5中值滤波器,对图像进行去噪处理。图2(b)是中值滤波后的结果。

2.2 RGB颜色分离

由于本文中采集的图像是采血管的图像,图像中主要包含采血管和背景。背景色为白色,采血管中血液主要分为两层,分别是血清和血凝块,下层为血凝块颜色暗红色,上层为血清浅黄色。由于已知在RGB颜色空间中,白色为(255,255,255),黄色为(255,255,0),黑色为(0,0,0)。因此,白色和黄色很容易在B通道图像中进行分离。而本文中图像背景、血清、血凝块颜色差异明显,因此可以考虑RGB颜色分量来分割目标区域。图2(c)~(e)分别是颜色分离后R,G,B通道的图像。根据颜色特点,比较不同颜色分量对背景与不同目标的区分度,可以发现:R通道图像可以用于获取血凝块区域,B通道图像可以用于获取血清和血凝块的共同区域,即血液区域。

图2 图像处理过程

2.3 二值化

二值化的方法主要包含固定阈值的二值化和自适应阈值的二值化。固定阈值的二值化往往不适用于亮度分布差异变化很大的图像。Ostu算法[11]是由日本学者大津于1979年提出,是一种自适应的阈值确定的方法,是图像分割领域的经典算法。算法思想是根据图像灰度特点,确定阈值T,将灰度图像分割成两部分,即目标和背景,使得类间方差最大。其目标与背景之间的类间方差定义

g=ω0(μ0-μ)2+ω1(μ1-μ)2

(1)

式中μ为图像的总平均灰度,ω0为属于目标的像素点数占整幅图像的比例,ω1为属于背景的像素点数占整幅图像的比例,μ0为目标的平均灰度,μ1为背景的平均灰度。

本文采用OSTU算法分别对R通道图像和B通道图像进行二值化处理。处理后的图像如图2(f),(g)所示。

2.4 形态学处理

对于二值化得到的图像,由于噪声或其他干扰因素的影响,二值化结果的背景区域中可能会出现除目标区域以外的小连通区域,目标区域中可能会出现黑色孔洞。形态学处理是一种常用的图像处理方法,形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如边界、骨架以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等[12]。膨胀和腐蚀这两种操作是形态学处理的基础,许多形态学算法都是以这两种运算为基础的。闭运算操作是先膨胀后腐蚀,而开运算操作是先腐蚀后膨胀。开运算常用于去除背景上的噪声,闭运算常用于去除目标上的小孔洞。通过开、闭运算可以将背景和目标上的噪声基本去除,但在背景上若出现较大面积的连通区域,则无法直接通过开运算去除。考虑到本文中的目标是二值化结果中最大的连通区域,因此,可以通过计算连通区域的面积,去除背景上的小连通区域,只保留最大的连通区域。本文采用Two-pass(两遍扫描法)进行连通区域的检测与标记。连通区域一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域。两遍扫描法,指的是通过扫描两遍图像,即可以将图像中存在的所有连通区域找出并标记。该方法的主要思路:第一遍扫描时赋予每个像素位置一个label,扫描过程中同一个连通区域内的像素集合中可能会被赋予一个或多个不同label,因此需要将这些属于同一个连通区域但具有不同值的label合并,即记录它们之间的相等关系;第二遍扫描是将具有相等关系的equal_labels所标记的像素归为一个连通区域并赋予一个相同的label(通常这个label是equal_labels中的最小值)。

本文对R,G通道的二值化图像(图2(f),(g)),采用开、闭运算完成形态学处理,并进行连通区域面积筛选之后,得到的结果如图2(h),(i)所示。

2.5 图像分割

使用阈值分割得到的分割结果往往存在边缘不够光滑,容易受边缘噪声影响的问题,尽管经过形态学处理之后已基本去除噪声的影响,但边缘不够光滑的问题仍未得到解决。由于本文的目的是为了检测血清液位,因此,边缘检测是否准确对本文结果的影响很大。在已有阈值分割结果的情况下,目标位置已经得到定位,在此基础上,MorphSnakes算法[13]可以给出更好的分割结果,有效地解决边缘问题。

MorphSnakes算法运用数学形态学进行轮廓演化,将形态学算子应用于GAC[14]、ACWE[15]模型的轮廓演化偏微分方程的求解,不需要使用复杂的数值求解算法,但可以实现速度更快,结果更稳定。MorphSnakes算法主要包含MorphGAC和MorphACWE两个模型,其中MorphACWE模型具有对初始轮廓曲线不敏感,图像不需要进行预处理,适用条件范围广等优点,因此,本文中采用MorphACWE模型进行图像分割。其中,ACWE是基于曲线演化理论和水平集方法的,零水平集函数在一个偏微分方程的控制下进行演化。ACWE模型通过极小化如下能量泛函实现图像分割

F(c1,c2,C)=μ.length(C)+v.area(inside(C))+

(2)

式中I(X)为待分割的图像,C为演化曲线,μ,v,λ1,λ2均为非负权系数。c1,c2分别为图像I在轮廓内外的平均灰度值,具有如下表达式

ACWE函数的简化版的Euler-Lagrange方程

λ2(I-c2)2)

(3)

式中u∶Rd→R为水平集函数,d为超平面维度。

MorphACWE算法可有以下3步完成

式中n为迭代次数,Dd和Ed为膨胀和腐蚀的离散表示。SId∘ISd为离散的曲线形态学算子。

本文将经过形态学处理的的目标区域作为初始图像分割结果,以图像分割结果轮廓的最小外接矩形作为初始轮廓,采用MorphSnakes算法中的MorphACWE模型,对R通道图像和B通道图像进行图像分割,最终分别得到相应的目标区域,分割结果如图2(j),(k)所示。

2.6 液位识别

由于本文中检测采血管中血清的上下液位高度的目的是为了确保仪器样本针采血时可以准确地采到血清。因此,本文中有关血清的上下液位高度计算遵循以下原则。对于血清的上液位,计算血清上表面最低位置作为上液位高度;对于血清的下液位,可以通过计算血凝块上表面最高位置作为下液位高度。通过R通道图像得到的分割结果,即血凝块区域,可以计算得到血清的下液面高度。通过B通道图像得到的分割结果,即血液区域,可以计算得到血清的上液面高度。

对于血凝块区域,只需要计算图像中连通区域最大纵坐标即可,该坐标即为血清下液面位置。对于血液区域,需要计算图像中柱形连通区域的顶部表面的最小纵坐标。因此,需要确定顶部区域位置,进行计算得到该区域的最小纵坐标,该坐标即为血清上液面位置。

由于已知采血管呈柱形,图像分割结果亦呈柱形,可通过将中间样本管区域去除,得到柱形顶部和底部的凹凸部分。对图2(k)中的分割结果,可根据分割结果的水平方向上投影的像素个数(即宽度),来判断是否为顶部或底部凹凸部分。如图3所示,是图2(k)中的分割结果宽度所对应的纵坐标统计图。

图3 宽度竖直方向投影统计

如图3所示,由于已知样本管呈圆柱形,通常情况下,圆柱形宽度所对应的纵坐标个数远多于上下凹凸面所对应的纵坐标个数。因此,可以通过找到最小突变位置,来确定上下凹凸面位置,如图可知,最小突变位置对应的宽度为240,该宽度是所检测到的最小样本管宽度,可将小于该值的宽度均认为是上下凹凸面部分,即顶端和底端部分。通过去除宽度大于等于240的区域,只保留上下凹凸面部分,可得到图2(l)。由于只需要计算顶端区域的最小纵坐标,因此通过筛选只保留顶端区域可得到图2(m),计算图中连通区域的最小纵坐标即可,该坐标即为血清上液面位置。

3 实验结果与分析

实验中,固定相机位置,使得1 mm的宽度在图像中对应20个像素,精度可达0.05 mm。本文实验中选用的样本管为外径12.5 mm,长度100 mm的采血管。本文共选取100例采血管样本,80例为血清量正常的样本,其他20例为血清高度小于10 mm的血清量不足的样本。采用本文方法对采血管图像进行检测,并通过检测得到的血清上下液位计算得出血清高度。将本文方法的血清液位高度检测结果与人工测量结果进行对比,如表1所示,上下液位高度误差均在0.15 mm范围内,且绝大多数满足误差小于0.05 mm。采用本文方法得到的血清高度,进行血清量正常与否的判别。实验结果如表2所示,对于20例血清不足的样本均能正确识别,对于80例血清量正常的样本只有1例出现误判,其真实的血清高度为10 mm,检测结果为9.95 mm,误差在0.05 mm。结果表明血清量不足的检出率为100 %,血清量正常的识别正确率为98.75 %。这表明将该方法用于提示采血管血清量不足具有一定的应用价值。

表1 液位检测结果

表2 实验结果

对于80例血清量正常的采血管样本,根据上下液位的检测结果,模拟仪器样本针位置为上下液位中间位置,结果表明仪器样本针位置全部都落在血清区域。这表明可将该方法用于调整仪器样本针位置采集血清。

4 结束语

本文采用图像识别的方法实现了采血管上下液位高度的自动化检测,并且实验结果表明该方法检测结果精度高,将其用于提示采血量不足结果具有可靠性。将本文方法应用于使用血清进行检验的体外诊断仪器中,可以通过实现血清上下液位高度的自动化准确定位,进而实现采血量不足的智能化提示,有效避免因采血量不足对检验结果造成的影响,也可以用于调节仪器样本针位置准确采集血清。

猜你喜欢

血凝形态学液位
奥美拉唑、血凝酶联合生长抑素治疗上消化道出血的效果
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
全自动血凝分析仪采用2种测定血浆纤维蛋白原方法的评价
医学微观形态学在教学改革中的应用分析
宝马530车冷却液液位过低报警
STA Compact血凝仪在肝素抗凝治疗中的临床作用
数学形态学滤波器在转子失衡识别中的应用
对影响禽流感血凝和血凝抑制试验因素的探讨
巨核细胞数量及形态学改变在四种类型MPN中的诊断价值