FIA算法在尿液成分检测中的应用

2018-07-13 01:40李永洋严荣国邱小烨李俊国
软件 2018年6期
关键词:脉冲数论域子集

李永洋,严荣国,邱小烨,李俊国

(上海理工大学 医疗器械与食品学院,上海 200093)

0 引言

尿液检测在现代医学上具有重要的意义,临床多采用干化学方法进行测定。它是指利用尿液与多联试纸条相应试纸条内的试剂发生化学反应产生颜色变化,颜色变化的深浅跟各种成分的浓度成正比,再根据 Kubelka-Munk理论及反射率的变化对各种成分作半定量分析[1-2]。尿液干化学分析不仅可以用于泌尿系统疾病诊断、疗效观测,而且对其他器官疾病的诊断、临床安全用药监护、职业病的辅助诊断与监测,以及对人体健康状态评估也有重要意义。

临床上多联试纸条试剂块为5×5 mm,间隔2 mm的正方形块,蘸过尿液后的试剂带被传送到尿液分析仪进行光学测定[3]。它是利用积分球,根据反射率的变化来进行浓度的测定,反射率越大,被测成分浓度越低;反之亦然[4]。此方法涉及的原件众多,结构复杂,成本较高。

为此,本文设计了一种尿液试纸条颜色识别方法,用于识别尿液检测中试纸条的颜色从而判断待检测的各项指标的值。颜色作为一个主观概念,没有具体的量化公式,颜色识别的传统方法根据色度图确定颜色。根据三原色原理,即所有的颜色都能够通过红(R)绿(G)蓝(B)三种颜色混合出来。相同的,如果知道某种颜色的RGB值就可以得到该种颜色。本文中所用的颜色识别原理就是计算出试纸条上各个试剂块的RGB值,与系统里面的比色对照图谱各个颜色对应的RGB值进行算法分析,得到相应的尿液成分参数指标值。

1 设计原理与实现方法

1.1 TCS230颜色传感器原理

本文选取的为 TCS230颜色传感器,可将光线的RGB三元色的信号转变为TTL电平方波信号。由于其输出信号是数字量,可以直接驱动TTL逻辑电平,单片机直接与芯片相连不需要AD转换电路,检测和转换时无需外接基准信号,因此其电路简单,调试方便[5-6]。工作时可以选择不同的编程引脚来控制百分之百,百分之二十或者百分之二的频率输出比例因子以适应不同的场合,其三个颜色滤器由不同的引脚组合控制[7-8]。TCS230芯片各个引脚的名称、尺寸,及各个引脚组合功能如表一所示。当选择 S0为低(L),S1为高(H)时输出的脉冲比例为百分之二,当选择S0为高(H),S1(L)为低时输出的脉冲比例为百分之二十,当选择S0为高(H),S1为高(H)时输出的脉冲比例为百分之百。

表1 TCS230芯片引脚组合功能表Tab.1 TCS230 chipset pinout truth table

理论上,白色是由等量的红色,绿色和蓝色混合而成,而TCS230在实际检测白色时,对这3种基本色的敏感性不同,因此需要进行白平衡调整[9-12],计算出所需要的3个调整参数K1,K2,K3。获取颜色 RGB值的具体操作步骤为首先测量在一定时间内输出比例相同时,S2为高、S3为低(三个滤波器全开)OUT引脚输出的脉冲数 m,其次分别测量在相同时间内只开红色滤波器的脉冲数rm,绿色滤波器的脉冲数gm,蓝色滤波器的脉冲数bm,最后通过这几个脉冲数带入公式(1)可以得到模块相对应的RGB值。

为验证以上颜色识别原理的可行性,用示波器测量在1秒的时间内TCS230颜色传感器在百分之二的输出比例下对某种颜色OUT引脚输出脉冲,结果如下图1所示,其中图 1(a)为只开红色滤波器脉冲频率图脉冲数约为15,图1(b)为只开绿色滤波器脉冲频率图脉冲数约为14,图1(c)为只开蓝色滤波器脉冲频率图脉冲数约为 18.5。结果表明 TCS230颜色传感器对同一颜色打开不同滤波器时接收的脉冲数不一样,验证了该传感器的颜色识别原理,对装置提升识别效率,提高识别精度有指导意义[13-14]。

1.2 尿液试纸条颜色识别系统

尿液试纸条颜色识别系统由微处理器 Atmega-32L、颜色传感器TCS230、RS232串口、上位机组成,系统基本框架如图2(a)所示,TCS230芯片四周安置的LED灯,用稳压管提供恒定电流给其供电,保证产生高亮度稳定白光,为颜色识别装置提供良好的基础。TCS230芯片的工作电压为5V,输出占空比为50%,OUT引脚输出为数字脉冲与单片机定时中断PD2引脚连接。微处理器读取颜色三个基色方波信号,并将基色信号通过白平衡所得公式处理得到该颜色对应RGB值。RGB值通过RS232串口发送给上位机,在MATLAB GUI实现数据的算法处理,最后得到相应的尿液体征参数指标值。由于没有模拟电路整个电路结构简单,可靠稳定、抗干扰能力强[15]。

其装置剖面图如图2(b)所示。TCS230颜色传感器及其承载电路板固定在圆筒顶部,圆筒直径为40 mm。TCS230传感器的四周分别安置了一个白色发光二极管(LED)作为光源,产生的白色光线在漏斗状灯罩(不透明)的汇聚下于圆筒底部形成一个直径为5 mm的光斑(即完全覆盖试剂块),能够有效的让传感器检测到试剂块反射的光频信号,并且避免相邻试剂块反射的光频信号对正在检测试剂块产生影响。灯罩嵌套于圆筒之内,圆筒底部预留空隙,传送带上的试纸条依次进入自动检测。为了制造黑暗空间、避免外界光线对测量的影响,圆筒空隙离地面间距应当尽量小,此设计中为5 mm。

图1 脉冲示意图Fig.1 Pulse diagram

图2 尿液试纸条颜色识别系统Fig.2 Color identification system for A Urine Strip

2 算法分析

由于颜色识别具有结构复杂,变量众多、参数之间存在较强的耦合,难以建立数学模型,而模糊识别算法(Fuzzy identification algorithm)[16]在建立模糊识别控制器后,可以在依靠人类的智慧下获得令人满意的识别效果,所以本文中采用模糊识别算法,即FIA来进行颜色识别。

以下仅以 pH试剂块作为例子,验证模糊算法在尿液检测中识别尿液酸碱度的可行性。本文采用艾康生物技术(杭州)有限公司生产的多项尿液检测试纸条(干式化学法),根据pH比色对照图谱得到不同pH值对应RGB值,如表2所示。

表2 不同pH值对应RGB值Tab.2 RGB values to different pH values correspond

2.1 输入变量的模糊化

由于RGB三个值的物理论域Xj=[a,b], a≠-b,为不对称物理论域。模糊论域为Nj=[-nj,nj],此时的量化因子表达式为:

由式(2)得到离散公式:

式中a,b为RGB取值范围,根据实际情况a=0,b=255 ,[-nj, nj]为模糊论域,由于 RGB值的变化区间大故nj取4。选定五个模糊子集NB(Negative Big),NS(Negative Small),ZO(Zero),PS(Positive Small),PB(Positive Big)用于涵盖输入量Xj的论域[0,255],此处取三角形隶属函数,其分布如图 3所示。

图3 输入R论域的模糊子集分布Fig.3 The distribution of the fuzzy subset of the input R domain

输入模糊子集隶属函数如下:

同理G、B值论域分布隶属函数与R相同,不再赘述。

2.2 输出变量的模糊化

输出颜色对应的pH值为5.0,6.0,6.5,7.0,7.5,8.0,9.0在此物理论域用Xout=[0,6]表示,即0表示该颜色对应 pH值为 5,1表示颜色对应 pH值为6,2表示颜色对应pH值为6.5,依次类推,取nj为3。选定7个模糊子集涵盖输出量的论域分别为 NB(Negative Big),NM(Negative Middle),NS(Negative Small),ZO (Zero),PS(Positive Small),PM(Positive Middle),PB(Positive Big),它们的隶属函数如下,其分布如图4所示。

图4 输出Xout论域的模糊子集分布Fig.4 The distribution of the fuzzy subset of the output Xout R domain

2.3 建立模糊规则

根据离散公式(3)得到输入模糊公式

由比色对照图谱上各个pH对应的实际RGB值确定模糊子集。具体操作为将输入量的值代入输入模糊公式(9),得到n值,然后在图3输入隶属函数中找到n值对应最大函数值的模糊集合。例如当R=255时,代入模糊公式得到n=4,属于模糊集PB;当 G=99时,代入模糊公式得到 n≈-0.89取-1,属于模糊集ZO;当B=71时,代入模糊公式得到n≈-1.77取-2,属于模糊集NS。

由表2中不同pH值对应RGB值可以归纳总结出下述七条模糊规则:

(a)当R属于PB,G属于ZO,B属于NS时,输出pH为5.0,即Xout=NB;

(b)当R属于PB,G属于PS,B属于NS时,输出pH为6.0,即Xout=NM;

(c)当R属于PS,G属于ZO,B属于NB时,输出pH为6.5,即Xout=NS;

(d)当R属于ZO,G属于PS,B属于NS时,输出pH为7.0,即Xout=ZO;

(e)当R属于ZO,G属于ZO,B属于NS时,输出pH为7.5,即Xout=PS;

(f)当R属于ZO,G属于PS,B属于NB时,输出pH为8.0,即Xout=PM;

(g)当R属于NB,G属于ZO,B属于NS时,输出pH为9.0,即Xout=PB。

2.4 近似推理

例如某次接收到串口发送的数据为 R=238,G=173,B=14,分别代入输入模糊公式(9),求得对应模糊输入,在模糊子集分布图5中可知清晰量R=238模糊后只映射到模糊子集PB和PS上,代入模糊子集隶属函数(7)和(8),求得对应隶属函数值分别0.73,0.27;清晰量G=173模糊后只映射到模糊子集PS和ZO上,对应隶属函数值分别为0.71,0.29;清晰量B=14模糊后只映射到模糊子集NB和NS上,对应隶属函数值分别为0.78,0.22。虽然对应八种模糊情况,根据最大隶属度法只需考虑其中隶属度最大的一条即 R=PB,G=PS,B=NB,在MATLAB当中计算结果如图 4模糊识别结果图所示,此时模糊输出为-2由上文可知此时pH值为6.0,与实际结果一致。结果表明,本文设计的模糊控制器在多项尿液检测中能够判断出 pH试纸条的酸碱度,亦能推广判断尿液其余体征参数。

图5 模糊识别结果图Fig.5 the FIA results

3 颜色测试及结果分析

为了验证该系统的可靠性,将设计好的尿液试纸条颜色检测仪,按照实验的流程进行 20组尿液pH试纸条识别,每个试剂块识别20次,与经验丰富操作人员识别结果对比,结果如下表3所示。

根据表中的数据信息,可以看出人工识别结果为5.0的试块模糊识别正确率最高达到98.33%,这是由于该试块在比色对照图谱中的颜色最红R值等于255在模糊输入里面属于PB集合并且隶属度为1,故该系统能够较为容易地识别出该颜色。然而,模糊识别正确率最低的试块pH值为6.5,识别正确率为 87.5%,远低于最高识别正确率。这是由于该颜色G值分布在ZO,PS两个集合中间,且隶属度大小在0.5左右波动,使得识别结果跟7.0试块混淆,B值分布在NB,NS两个集合中间的隶属度大小区分不明显,识别结果容易跟 6.0的试块混淆,故拉低了该颜色的识别准确率。

表3 pH试纸条模糊识别实验结果统计表Tab.3 Statistical table of pH strip using the FIA method

通过计算20个试块共400次识别试验,得到模糊识别结果与人眼识别结果一致的次数为369次,准确率到达了92.25%,由此可以判断该系统具有较高的可靠性和准确性,能够准确的识别尿液检测试纸条的 pH值。以上特征还可以用于改进模糊识别算法的设计,即在隶属度波动在 0.5左右的模糊集合中添加模糊规则,细化模糊输出从而得到更为准确的识别结果。

综上结论,推断该方案能够成功的应用在尿液试纸条其他各项指标颜色的识别上,对工作中解决实际问题有较强的指导意义,也为FIA识别算法的广泛应用提供了参考。

猜你喜欢
脉冲数论域子集
拓扑空间中紧致子集的性质研究
基于变论域模糊控制的Taylor逼近型内模PID算法
某型组合导航系统故障分析及预防
连通子集性质的推广与等价刻画
高精度电子体温计设计与实现
关于奇数阶二元子集的分离序列
变论域自适应模糊PID控制系统仿真与应用
检定电能表的圈数设定问题探讨
双论域粗糙集在故障诊断中的应用
微生物燃料电池的变论域自适应模糊控制研究