高光芹, 李瑞歌, 谢普会, 黄家荣, 李 伟
(河南农业大学 a.理学院;b.林学院,郑州 450002)
传统检测磷含量的方法有紫外-可见分光光度计、气相色谱(GC)、高效液相色谱(HPLC)、气相色谱-串联质谱GC-MS)、液相色谱-串联质谱(LC-MS)等[1-3],其中最具代表性的是分光光度计。这些方法具有适用范围广、准确、灵敏、重复性好等优点,但仪器设备昂贵、不方便携带、操作复杂、耗时长等不足,因此难以满足现场实时在线快速检测。与传统色谱法和光谱法相比,基于比色法分析更加直观,本文通过对数字图片检测区域色度的分析与人工神经网络模型模拟,可以更加便捷、准确地实现磷含量的检测,且两者结合,可开发出计算机或智能手机实验应用软件。
近年来,国内外研究人员利用手机内置/外置传感器或附加组件,将普通的智能手机变身为“功能手机”,并开发适用于不同目标物的智能手机软件,如“颜色识别器”“颜色扫描器”“Palette”等,从而将手机打造成一个功能强大的数字图片比色检测平台,并实现了数据采集、分析、显示以及数据共享等多种功能[4-8],广泛应用于医疗诊断、食品安全、环境监测等重要领域的实时快速检测[9-11]。
颜色识别器中,主要包括RGB、CMYK、HSV、CIE-XYZ、Lab等几种颜色模型。色彩图片采用RGB空间颜色模型,也叫加色混色模型,它使用红色(R)、绿色(G)、蓝色(B)三原色复现人眼所能识别的所有颜色,灰度值区间在0~255之间[12-13]。RGB 的颜色空间,3种分量均是相互独立的,采用不同的线性数学模型探讨RGB 三通道的颜色值与样品浓度之间的关系。本研究在用图片比色法测定实验数据的基础上,采用人工神经网络建立检测物的浓度与RGB的数值的非线性关系[14-16]。
仪器:智能手机(带颜色识别器APP),三角支架,721分光光度计,比色皿,移液枪,白色卡纸,容量瓶,洗耳球。
试剂:钼酸铵-盐酸,氯化亚锡-盐酸溶液,磷标准溶液,待测磷溶液,抗坏血酸溶液(所用试剂均为分析纯,水为去离子水)。
1.2.1 溶液的配制
(1) 4%HCl-钼酸铵溶液。称取2 g钼酸铵溶解于30 mL 4%的盐酸中,加蒸馏水至50 mL;
(2) 2%抗坏血酸(Vc)溶液。称取0.1 g抗坏血酸(Vc)加5 mL蒸馏水;
(3) 2.5%氯化亚锡溶液。称取2.5 g的氯化亚锡溶解于10 mL的浓盐酸中,待溶解完之后,溶液澄清,加蒸馏水至100 mL,注意用100 mL玻璃烧杯配,沉淀24 h再分装,用的时候取上清液;
(4) 20μg/mL磷标准溶液。称取2 g的磷酸二氢钾溶解于1 L蒸馏水中,取1 mL,加99 mL蒸馏水,置于100 mL烧杯中,得到20 μg/mL磷标准溶液。
1.2.2 “颜色识别器”比色法测定
所有的溶液配置好之后,向0~20号50 mL容量瓶中分别移入磷标准溶液(见表1),20号容量瓶中移入待测液。向0~20号瓶分别加水稀释至约25 mL,再加入钼酸铵-盐酸混合液2.5 mL,摇匀后加入SnCl2-盐酸溶液4滴,抗坏血酸溶液4滴,摇匀,加蒸馏水至刻度线,充分摇匀后静置10~12 min。固定手机于三脚架上,打开“颜色识别器”APP,固定容量瓶位置,采用实时识别逐个扫描,测定结果如表1所示。
表1 磷钼蓝浓度与红绿蓝(RGB)色度表
1.2.3 可见分光光度法测定
所有溶液配置好之后,向21~27号50 mL容量瓶中分别移入上述磷标准溶液0.00、2.00、4.00、6.00、8.00、10.00 mL,27号容量瓶中移入待测液。向21~27号瓶分别加蒸馏水稀释至约25 mL,再加入钼酸铵-盐酸混合液2.5 mL,摇匀后加入SnCl2盐酸溶液4滴,抗坏血酸溶液4滴,摇匀,加蒸馏水至刻度线,充分摇匀后静置10~12 min。在690 nm波光下,以21号瓶中的溶液作为参比液,测定22~27号溶液的吸光度,测定结果如表2所示。
表2 不同磷钼蓝浓度下吸光度值
用表1数据绘制的图1散点图显示,红(R)、绿(G)、蓝(B)三种色的色度值,在磷钼蓝浓度为0时呈最大值(172,173,168);在浓度大于4时,慢慢趋于最小值(9,10,20);在浓度为(0,4)之间,呈反“J”形递减趋势曲线。
图1 色度-浓度关系
用表2数据绘制的图2散点图显示,A在磷钼蓝浓度为0时呈最大值(100);浓度大于4时,趋于最小值(0.9);浓度为(0,4)之间,A随浓度的增大而减小,也呈反“J”形递减趋势曲线。该对比分析结果表明:①用智能手机的“颜色识别器”APP能快速测定样品的红绿蓝(RGB)色度值与浓度的关系数据,其变化规律与721分光光度计测定的吸光度-浓度关系一致;②红绿蓝(RGB)色度值与浓度的关系是非线性关系,必须用非线性模型来模拟,才能准确定量分析有关关系,人工神经网络模型是最好的非线性模型。
图2 吸光度-浓度关系
图3 磷钼蓝浓度检测的人工神经网络模型
(1) 输入层。向网络输入数据的节点层,节点数目等于输入变量数3,其作用是将输入变量经1层权值(w1i,j,i=1,2,…,s;j=1,2,3)作用后传递给隐含层,下标“i,j”表示向隐层i神经元传递输入层j节点变量。
(2) 隐含层。神经元个数s可变,在模型训练中,用变结构法确定;神经元的传输函数为tansig函数;神经元边上的b1i为1层神经元的阈值,用定值“1”将其引入;hi表示隐含神经元的输出,其数学表达式为:
(1)
i=1,2,…,s
(3) 输出层。即网络输出模型运行结果的出口层,只有一个神经元,其阈值为b2,传输函数也为tansig函数;输出值Y为:
(2)
i=1,2,…,s
式(1)、(2)合为磷钼蓝浓度检测的人工神经网络模型。
用表1的实验数据为输入样本RGB=[172,157,…,9;173,162,…,10;168,160,…,20]和输出样本Y=[0.00,0.01,0.02,…,14.00,16.00],在MATLAB的神经网络工具箱(NNTOOL)中对以上模型进行训练,设置模型名为RGBPMB,其参数矩阵如下:
输入层到隐含层的权值矩阵
IW{1,1}=[ -1.266 5,-1.703 7,-1.067 7;
0.546 2,1.321 7,1.574 5;-1.306 5,
-1.242 5,-1.430 4;-2.450 1,1.376 6,
0.718 7;9.979 2,-0.335 0,7.213 3]
隐含层到输出层的权值矩阵
LW{2,1}=[2.553 9,-1.578 1,1.391 5,
-1.811 5,-8.952 7]
隐含层神经元的阈值矩阵
b{1}=[2.409 4;-1.578 9;1.177 9;
-0.790 8;18.174 6];
输出层神经元的阈值矩阵
b{2}=[2.037 4]。
这些训练矩阵表明,RGBPMB是一个结构为3∶5∶1的BP人工神经网络模型:
Y=tansig(2.553 9h1-1.578 1h2+1.391 5h3-
1.811 5h4-8.952 7h4+2.037 4)
(3)
式中:
直接用MATLAB的仿真函数作拟合计算式:
Y=sim(RGBPMB,RGB)
(4)
式中:sim( )为MATLAB的仿真函数;RGBPMB表示已经建好的网络模型,它储存了网络结构、属性等全部参数;RGB,Y为检测模型的输入、输出向量,与建模样本同维。用式(4)进行检测计算时,代入的RGB是红(R)、绿(G)、蓝(B)3个色度值构成的一维立向量或多维立向量(矩阵),计算出的Y是一个标量或向量。
用式(4)计算的拟合曲线如图4所示。结果表明,模型充分拟合了图1实测点的变化规律。
图4 模拟曲线
训练好模型后,就可用来检测样品的浓度。表1中20号样品,浓度未知,用“颜色识别器”测得红绿蓝的3个色度值为14、18、38,代入模型(4)得:
Y=sim(RGBPMB,[13 19 38]′) =2.015 8
(5)
根据表2的分光光度计测定数据,当浓度为1.6时,吸光度为18.1;浓度为2.4时,吸光度为12.3;测得20号样品的吸光度为15.0。按比例法求得该样品的浓度为2.027 6 μg/mL。与式(5)的结果比较一致,得模型RGBPMB的相对精度为99.42%。
(1) 用数字图片比色法能够实现精确定量快速检测,本研究用智能手机的“颜色识别器”APP快速测定了红绿蓝(RGB)色度值与浓度的关系数据,其变化规律与721分光光度计测定的吸光度-浓度关系一致。
(2) RGB色度值与浓度的关系是非线性关系,用非线性模型来模拟更精准,人工神经网络模型对非线性映射能任意逼近。
(3) 以RGB的色度值为输入变量,磷钼蓝浓度Y为输出变量,构建了结构为3∶S∶1的BP人工神经网络模型;用实验数据训练了模型的参数矩阵,得具体的模型结构为3∶3∶1,模型命名为RGBPMB;用仿真函数作拟合计算式,模拟曲线充分拟合了实测数据的变化规律。
(4) 待测磷溶液浓度,用分光光度计测算为2.027 6 μg/mL;用模型计算为2.015 8 μg/mL,其相对精度为99.42%。所以,本文提出的教学实验改进方案(用颜色识别器测定溶液的色度值,用人工神经网络模型计算溶液的浓度)是实用、可行的。
(5) 研究特色:综合应用图片比色法、颜色识别器、人工神经网络等信息技术进行教学实验改进,并取得理想效果,对教学与科研都是新的尝试。