关于颜色与物质浓度辨识的研究
2018-03-26杜珍珍
周 同 杜珍珍
(铜陵职业技术学院,安徽 铜陵 244000)
1 引言
比色法是目前常用的一种检测物质浓度的方法,即把待测物质制备成溶液后滴在特定的白色试纸表面,等其充分反应以后获得一张有颜色的试纸,再把该颜色试纸与一个标准比色卡进行对比,就可以确定待测物质的浓度档位了。每个人对颜色的敏感差异和观测误差,使得这一方法在精度上受到很大影响。随着照相技术和颜色分辨率的提高,希望建立颜色读数和物质浓度的数量关系,即只要输入照片中的颜色读数就能够获得待测物质的浓度。
本文以全国大学生数学建模竞赛2017年赛题C的数据,建立物质浓度依颜色读数来辨识的数学模型,并给出模型的误差分析①文中所用数据下载于全国大学生数学建模竞赛组委会网站,链接为http://www.mcm.edu.cn/html_cn/node/460baf68ab0ed 0e1e557a0c79b1c4648.html.。
2 颜色读数与物质浓度之间的关系
2.1 数据分析与处理
首先将数据按习惯的方式调整。(1)列的调整:原数据中按蓝(B)、绿(G)、红(R)排列的数据调整为按R、G、B排列;(2)行的调整:浓度值按从小到大排列。
据颜色编码方法,RGB 编码与色调(H)、饱和度(S)、亮度(V)编码[1]可以互相转换。通常,RGB 到HSV的转换公式[2]为
表1 按转换公式(1)计算的色调和饱和度
容易看出,题目所给数据并不满足上述通行的转换法则,即题目所给H和S并非按转换公式所得的和。经过对数据的仔细研读,data1.xls中的数据与计算数据之间在计算机读数存在随机误差的意义下满足下述关系:
式(1)和式(2)表明,data1.xls中的五列数据 R、G、B、H 和 S,独立的仅有三个 R、G 和 B(根据 RGB与HSV相互转换关系,H、S、V也可视为相互独立)。
在“组胺”数据中,同一浓度下都分别有两组RGB值,考虑到计算机提取的RGB值都是区间[0,255]上的整数值[4-5],故我们对这两组RGB值平均后再“四舍五入”取整[3]作为模型中RGB的取值(见表2)。
表2 组胺浓度随颜色变化情况
对“溴酸钾”“硫酸铝钾”和“奶中尿素”也做类似的处理。“工业碱”的数据中浓度与RGB值是一一对应的。
2.2 模型的探索
本文以C表示物质的浓度。
首先,观察浓度值C分别随R、G、B的变化情况,相应的趋势如下图所示。
据图可知,组胺浓度C随R、G、B都呈递减变化[6],又C与R、G、B的函数关系是确定性的,所以C与R、G、B之间最简单的数量关系可设定为:
式中 a0,a1,a2,a3为待定参数。
式(3)中待定参数有4个,而5种物质的数据最少的有5组(最多的有7组),所以物质浓度与颜色之间的依赖关系是可以确定的,即:由data1.xls中的数据能确定颜色读数和物质浓度之间的关系。进而,本文提炼出如下一个结论:
物质浓度通过颜色读数来辨识,至少需要4组(C,R,G,B)观测值。
3 物质浓度依颜色读数(R,G,B)辨识的数学模型
根据后面求解需要,本文提出如下两个假设:(1)溶液颜色随物质浓度的变化是连续的;(2)题意中“水”对应的物质浓度为0,为分析需要本文在必要时假设其对应的物质浓度是一个很小的数,本文取为0.1ppm。
3.1 关于组胺的模型及求解
假设组胺浓度C与颜色读数R、G、B之间的关系服从式(3),应用最小二乘法拟合式(3),得模型参数值及模型精度如表3所示。
表3 组胺浓度辨识模型中的参数值及精度
即物质浓度随颜色变化的数学模型为
从模型精度指标看来,R2=0.9974,说明有近 99.74%的(C,R,G,B),数据符合上述线性关系,F值较大说明模型的整体线性关系显著,p=0.0645说明线性关系不成立的概率仅有0.0645。这些指标表明,模型精度高,据颜色辨识物质浓度可信度高。
3.2 其它四种物质的模型及计算结果
按组胺的分析和求解过程,其他四种物质的模型及精度见表4。
表4 四种物质浓度辨识模型及精度(RGB)
4 物质浓度依颜色读数(H,S=,V)辨识的数学模型
4.1 模型及精度
第3节建立了物质浓度依颜色RGB编码的辨识模型。虽然用RGB来表示颜色很方便,但也有其明显的不足,就是两个相近的颜色(意味着对应的物质浓度是相近的)RGB值却可能相差较大,所以本节以颜色的HSV编码来辨识建立物质浓度的HSV辨识模型,结果见表5。
表5 五种物质浓度辨识模型及精度(HSV)
对比表4和表5,物质浓度的RGB辨识模型的精度稍优于HSV辨识模型。
4.2 两类辨识模型的误差分析
式中n为观测值组数。模型总体预测误差定义为
计算出五种物质在两类模型下的总体误差[7]见表6所示。
表6 五种物质在两类模型下的总体误差
通过对比知,对于“组胺”和“奶中尿素”选择HSV模型来辨识物质浓度是较好的策略;而对于“溴酸钾”“工业碱”和“硫酸铝钾”选择RGB模型来辨识物质浓度是较好的策略。
5 结论
本文以组胺、溴酸钾、工业碱、硫酸铝钾、奶中尿素为研究对象确定了颜色读数和物质浓度之间的关系,得到了颜色和物质浓度辨识的各种数学模型,并从模型的统计检验精度和误差分析两个方面择优选择辨识模型。