APP下载

基于CS-BP神经网络的舌诊图像颜色校正算法

2019-10-24赵晓梅张正平余颖聪刘兆邦

贵州大学学报(自然科学版) 2019年5期
关键词:色卡舌象布谷鸟

赵晓梅, 张正平, 余颖聪,袁 刚, 刘兆邦*

(1.贵州大学 大数据与信息工程学院, 贵州 贵阳 550025;2.中国科学院苏州生物医学工程技术研究所, 江苏 苏州 215163;3.温州市人民医院, 浙江 温州 325699)

舌诊是指中医通过观察舌质和舌苔的形态、色泽、润燥等特征来判断人体疾病重要的方法。传统的中医诊断往往受医生的经验影响而得不到关于舌头精确的信息。如今随着互联网技术的迅速发展以及数字图像处理技术算法的成熟,用计算机辅助舌诊分析成为一大优势。计算机舌诊[1]包括舌象的颜色校正、分割[2]、特征提取[3]、分类[4]等步骤。由于人体舌象的采集过程中因拍摄环境、角度以及拍摄设备等因素造成舌象颜色与真实颜色存在一定的偏差,这将会影响计算机舌诊后续步骤的准确性。由此可见,舌象的颜色校正对计算机舌诊算法研究至关重要。

目前常见舌象的颜色校正方法分为监督学习算法和无监督学习算法。其中监督学习算法是指在拍摄图像的现场,放了标准颜色色块的监督色板,以这些色块在标准光照和非标准光照下颜色进行学习,求出颜色转换关系。例如文献[5]提出了基于多项式回归、偏最小二乘回归和感兴趣色域的舌象颜色校正算法,文献[6]比较了人工神经网络、支持向量回归以及多项式回归这三种算法的准确性,同样的研究团队在文献[7]提出一个优化的舌象颜色校正方案以及时隔三年开发了一台用于计算机舌象分析的高质量彩色成像系统[8]。近几年,陆续有人在原来的算法进行改进对舌象进行颜色校正,例如ZHOU[9-10]等人提出了SA(模拟退火)-GA(遗传算法)-BP的颜色校正算法和KPSR(核偏最小二乘回归)的颜色校正算法。然而上述算法都只在固定的场景中进行的,不具普适性。无监督学习算法是指不需要监督色板,通过色彩假设而得到色彩之间的映射关系。例如文献[11]中提出了一种在自然环境中采用改进的灰度世界和完美反射相结合的颜色校正算法对舌象进行处理,该算法无法定性地评价校正效果的优劣。

随着智能手机的普及和移动端摄像技术的提升,采用手机在开放环境中进行舌象采集并通过互联网在线分析诊断成为新型的研究方向,而且基于移动互联网的人工智能在线舌诊诊断算法的研究,对于我国两千多年中医舌诊技术的传承和发展有莫大的作用。在文献[12]中提到用SVM(支持向量机)分类器估计方法去预测智能手机所拍舌象的颜色校正矩阵,该方法虽准确率高,但实现过程复杂且执行效率较低。本文在前人的研究基础上针对中医舌诊拍摄环境的局限性,在不同场景中通过智能手机采集舌象,采用标准24色色卡作为金标准,然后提出一种基于CS(布谷鸟搜索算法)-BP的舌象颜色校正算法,通过布谷鸟算法对BP神经网络进行优化,经过实验对比分析校正前后色差值指标,本文算法颜色校正效果要优于传统多项式回归和BP神经网络算法。

1 颜色校正算法

1.1 多项式回归

多项式回归算法多用于打印机色彩校正,主要优点是存储空间少,计算速度块,容易实现。

本文与文献[5]有两点不一样的地方,一是使用的色卡为国际标准的24色卡而不是自制色卡,二是采用的多项式模型经过多次实验选用{R,G,B},如式(1)所示:

(1)

多项式回归自变量R、G、B之间存在多重相关性,回归精度受其影响,导致校正后的舌象与真实舌象之间还有一定的偏差。

1.2 BP神经网络

BP神经网络用于颜色校正中目的是通过训练学习得到标准色卡与待校正色卡之间像素关系。

接下来用公式简单阐述BP神经网络的原理。假设用I表示整个网络的输入,W1表示输入层到隐藏层的阈值,B1表示输入层到隐藏层的阈值,W2表示隐藏层到输出层的权值,B2表示隐藏层到输出层的权值。H表示隐藏层的输入,Hout表示隐藏层的输出,O表示输出层的输入。Oout表示网络的输出,则有:

H=W1I+B1Hout=y(H)

O=W2Hout+B2Oout=y(O)

(2)

其中y为激活函数,目前常用的激活函数有阶跃函数 hardlim(x),线性转移函数 purelin(x),对数 S 型函数 logsig(x)和正切 S 型函数 tansig(x)。

基于BP网络的舌象颜色校正算法训练阶段和测试阶段见文献[13-14]。

由于BP神经网络的初始值随机设置,每次训练后的权值和阈值都在发生变化,导致校正后的舌象颜色不稳定,会出现模糊,且BP神经网络一直存在易收敛到局部最优的问题,由此可知,该方法鲁棒性不佳,适应度不强。

1.3 本文算法

为了解决BP神经网络在舌象颜色校正中存在依赖初始值与易收敛到局部最小的问题,在BP的基础上引入了布谷鸟搜索算法。

(1)布谷鸟搜索(Cuckoo Search)算法介绍

布谷鸟搜索算法,也叫杜鹃搜索,是由剑桥大学ZHOU等[10]提出的一种新型元启发式搜索算法。CS算法主要是通过模拟布谷鸟的巢寄生性和levy飞行机制来有效求解最优化问题,并且通过随机游走的方式搜索到最佳鸟巢孵化鸟蛋,CS算法具有很好的全局搜索能力,不易陷入局部最优,且算法所涉及参数较少,简单通用。

为了模拟布谷鸟的巢寄生性在文献[15]中假定了3个理想状态:①每只布谷鸟一次只下一个蛋,并随机选择一个鸟巢存放;②在寻窝的过程中,放有优质蛋的鸟巢将会保存到下一代。③可用鸟巢的数量固定不变,一旦布谷鸟蛋被寄主鸟发现,寄主鸟就丢弃鸟蛋或鸟巢,那么将重新寻找鸟巢,避免影响寻找优化问题的解。

在这3个理想状态的基础上,布谷鸟寻优搜索的位置和路径的更新公式如式(3)所示:

(3)

Step1: 初始化BP神经网络权值和阈值长度;

Step2: 首先随机产生n个鸟巢位置,每一个鸟巢位置对应着一组BP神经网络中的权值和阈值,BP神经网络根据随机产生的权值和阈值对训练集进行训练,计算每个鸟巢位置对应的适应度值即为网络的训练误差,并由适应度值找到当前最优鸟巢,且得出当前最优适应度值fmin;

Step3: 将上一代最优鸟巢带入式(3),并对其他鸟巢进行更新,得到一组新的鸟巢位置,然后对它们进行测试,并与上一代的鸟巢位置进行比较,用较好的鸟巢位置代替原来的鸟巢位置;

Step4: 将step3更新的每一组鸟巢位置送入BP神经网络进行训练,如同step2,更新鸟巢位置,并得出新的最优鸟巢位置;

Step5: 将随机数与发现概率p比较,保留step4中被发现概率较小的鸟巢,同时随机改变其他鸟巢,得到一组新鸟巢位置。

Step6: 将step5得到的新巢带入BP神经网络,如同step2,计算每一组的适应度值,并得到最佳的鸟巢位置和适应度值fnew;

Step7: 将step6得到的最佳适应度值与step2的适应度值进行比较,若fnew

Step8: 循环step3-step7;

Step9: 循环结束,将最优鸟巢位置即最佳权值和阈值代入BP神经网络并对训练样本再次训练,训练结束,用舌象像素进行测试得到校正后的舌象图。

2 实验结果及分析

2.1 评价分析

为更好说明本文算法的正确性和有效性,将采用颜色恒常性研究中普遍使用的色差计算方法,色差是在Lab颜色空间中对颜色差异的度量,用ΔE表示,公式如下:

(4)

(5)

其中L*、a*、b*表示标准色卡24色块的标准值,L、a、b表示校正后色卡24色块的校正值,ΔEtotal表示整体色差值。

2.2 结果分析

因场景、时间等因素导致光照强度不同,进而导致舌象的颜色存在一定的失真,故本文在室内、室外、白炽灯三种场景下分别采了早上9点,中午12点,下午2点,下午5点的数据进行对比分析,各采10例,校正前和校正后的色差值进行了平均处理。校正色卡为麦克贝斯色卡,采集设备为小米5s,性能参数为后置摄像头1 200万像素,分辨率:1 920*1 080像素。采用多项式回归、BP网络、CS-BP网络校正的结果比较如下:

图1 室内的校正结果Fig.1 Indoor calibration results

图2 室外的校正结果Fig.2 Outdoor calibration results

图3 白炽灯下的校正结果Fig.3 Calibration results under incandescent lamps

从图1、图2中可清晰地看到,室外校正前的色差值相比于室内波动大,原因在于室外所拍摄的图像受天气影响变化大,用三种算法对场景中的色卡进行了颜色校正,从图1-3中,多项式回归和BP神经网络对其校正后色差值受校正前的色差值的影响,波动较大,并且BP神经网络依赖于初始值以及易收敛于局部最优,每次训练后得到的参数变化较大,导致舌象校正后的结果不一致。因此这两种算法都不利于后期中医舌诊的研究,而本文算法CS-BP对其校正后的色差值保持在9上下,波动范围较小,不受光照强度、环境等因素的影响,且解决了BP网络遇到的两大问题,比较适合后续舌诊进一步研究,也由此说明了CS-BP优于多项式回归和BP神经网络。

对场景中的色卡进行校正并得到对应的颜色校正模型,将此用于舌象的颜色校正中,校正结果如图4-7。

图4和图5是室内舌象颜色校正的情况,主观上来看,由于图像受智能手机参数的影响,原图整体偏亮,经多项式回归校正后,颜色有一定的改善,但从色卡的白块可看出,校正效果并没有得到多大提高;用BP神经网络进行校正后,结果在多项式回归的基础之上有所提高,用CS优化BP之后,解决了在BP神经网络中遇到的问题并且校正结果有一定的改进,这与图1中的结果相吻合。

图4 室内早上9点校正结果Fig.4 Indoor calibration results at 9 am

图5 室内下午2点校正结果Fig.5 Indoor calibration results at 2 pm

图6和图7是室外舌象颜色校正的情况,可以看到,因室外不同时间的温度变化大,会出现偏色情况,如图7a,因那时正接近黄昏,所以原图颜色偏黄,经三种算法校正后,都很大程度上修正了原图的颜色。多项式回归,BP神经网络以及本文方法校正效果依次递进,虽说从表面上看不出BP神经网络与本文方法的优劣,但我们可以从图6c和图6d的色卡可看出,BP网络校正后出现模糊,而本文算法避免了这一缺陷,且校正结果更佳,这与图2的结果相符。

图6 室外早上9点校正结果Fig.6 Outdoor calibration results at 9 am

图7 室外下午5点校正结果Fig.7 Outdoor calibration results at 5 pm

由于在拍摄过程中,拍摄角度与被拍摄者的细微动作变化将会导致在相同光照下拍摄的两幅舌象之间仍存在一定的色差,所以本文在实验中分别在相同时间内的室内、室外和白炽灯三种场景下共拍摄了9幅图像,每个场景3幅图像,经三种算法校正后,将色差值取均值得到表1,从表中可看出,多项式回归校正结果最差且因拍摄角度、拍摄设备等因素影响而导致色差值波动较大,而BP神经网络和本文算法得到的结果相对稳定,如表中的室内室外两种场景下的色差值对比情况。

4 结语

本文提出了一种基于CS-BP网络的舌象颜色校正算法,通过与多项式回归和BP神经网络两种方法进行实验对比,证实了本文算法的有效性。

表1 各算法校正结果色差值Tab.1 Color difference values of the calibration results of each algorithm

因色卡的样本量以及开放环境不确定因素的影响,本文三种算法的校正结果有所局限,无法达到标准封闭环境下的校正结果,故如若像文献[6]中取与舌色相近的颜色定制色卡进行训练,校正结果会更佳。但本文在有限的实验条件下,研究了舌象在三种不同场景下舌象的颜色校正,对于未来互联网应用中医舌诊技术的推广,仍具有较高的实用性和研究价值。

猜你喜欢

色卡舌象布谷鸟
574例新型冠状病毒肺炎康复者舌象特征分析
基于Citespace的国内肿瘤舌象研究可视化分析(2001-2020年)
布谷鸟读信
基于Citespace糖尿病舌象研究的文献计量与可视化分析
布谷鸟读信
数字色卡
颜色读数与物质浓度模型的新思考
舌象仪临床应用研究的方法学及报告质量评价
2018/19秋冬国际流行色定案色卡分析
布谷鸟叫醒的清晨