肖渝,黄丽雯,汤斌,肖棋森,赵明富,李奉笑
(重庆理工大学光纤传感与光电检测重庆市重点实验室,重庆 400054)
直接紫外-可见光谱法具有无二次污染、分析速度快、原位测量的优点[1],近年来已成为水质检测领域的研究热点。紫外-可见光谱法水质检测系统主要由光源、光路结构、光电转换和处理终端四部分组成。在实际应用中,光源的不稳定和外界的杂散光对采集的光谱数据造成严重的噪声干扰。实测水样的光谱噪声主要表现为低频噪声和高频噪声,低频噪声主要受到水中颗粒物的散射干扰,表现为光谱的基线偏移,可通过多元散射校正[2]。外界环境的干扰和仪器本身的不稳定性会产生高频噪声,在实际应用中表现为信号的非平稳跳变[3],极大影响了光谱数据的识别性,降低了光谱模型的准确性和适应性[4]。因此,滤除噪声干扰成为了光谱数据的关键技术问题。
小波分析具有多层分解识别度,能实现时间和频率的细分,在物理学[5]、机械工程[6]、图像处理[7]等众多领域被广泛应用。阈值去噪是小波分析中常用的方法,其原理是将信号多尺度分解为高频系数和低频系数,有效信号和噪声在分解后表现出特性差异,通过阈值函数将噪声区分出来,最后重构小波系数逆变换后得到去噪信号。阈值去噪中阈值的选择影响信号的平稳性和准确度,目前在众多领域都有相关研究[8−11]。同时,最优阈值的选取也是小波分析的关键问题,但在紫外-可见光谱分析领域尚缺乏较好的解决方案。
遗传算法是一种迭代寻优的全局搜索算法,模拟生物进化过程中的自然选择、遗传和进化过程[12],并且不需要特定的算法模型,具有很强的全局搜索能力。毛亚纯等[13]利用主成分分析法、局部线性嵌入算法、遗传算法处理后的数据建模分析等方法对铜矿的可见-近红外光谱进行了品位分析,分析结果表明遗传算法所建模型精度明显优于其他方法。李子文等[14]利用近红外光谱对核桃露中的脂肪含量进行定量分析,采用遗传算法结合向后间隔偏最小二乘法优选出特征波长作为建模的输入量,结果表明,变量的选择极大地影响模型精度,通过多层筛选能够有效提高精度。Luo 等[15]为解决建筑能源管理误差较大的问题,提出了一种基于人工智能的深层神经网络算法,通过遗传算法确定了模型的最佳架构,最终实现了能源消耗的准确预测。Sajadi 等[16]利用遗传算法选择全局特征和局部特征的最佳组合优化人耳特征识别的模型精度,结果表明,优化方法对人耳特征模型的识别率有显著成效,明显优于现有方法。Bhardwaj 等[17]针对自混合光反馈干涉仪中弱反馈条件难以测量的问题,采用多目标复合突变遗传算法来寻找最优解,结果表明该方法在绝对距离和振动频率测量方面具有很高的精度,在弱反馈的条件下也能实现较高的分辨率。近年来遗传算法在许多领域已有相关应用,但在紫外-可见光谱数据的去噪研究方面应用较少。
基于此,本文提出了一种遗传算法应用于小波阈值优化的去噪方法,对含噪光谱信号进行了去噪处理,并与小波软阈值、中值滤波、SG 平滑做了对比研究。实验结果表明,相较于传统的小波变换而言,最优阈值的选取能够极大地提高信号的去噪效果,做到了自适应全局寻优,充分体现了算法的优越性。
小波阈值去噪利用不同尺度分解下信号的有效成分和噪声在小波系数上存在的特性差异,根据阈值函数对噪声进行滤除,从而实现信号的去噪。高于阈值的系数包含有用信息,低于阈值的系数主要由噪声信号产生。通过小波变换将光谱数据多尺度分解后,选取合适的阈值,对小波系数进行选取,将有用信息保留,噪声信号滤除,重构小波系数后利用逆变换得到去噪后的光谱曲线。带有噪声的光谱数据s(t)为
式中:f(t)为有用信号,n(t)为含噪信号。
小波阈值去噪的一般步骤为:
1)对含噪信号进行小波分解,选择合适的小波基和分解层数,得到相应的低频系数ωj和高频系数ωk;
2)选择恰当的阈值和相应的阈值函数对分解得到的高频系数ωk进行阈值化处理,得到处理后的高频系数;
3)将低频系数和处理后的高频系数通过小波逆变换重构,得到去噪后的有用信号ˆs(t)。
去噪的效果主要依赖于阈值的选取,目前常用的普适性阈值的表达式为
式中:σ 为噪声的标准方差,N为信号长度。
通用阈值适用于大部分信号的小波系数选取,但仅仅是达到较好的去噪效果,没有达到最优解。对阈值的选取需要具体问题具体分析,通用阈值在寻求最优阈值时可作为参考。阈值函数同样也影响信号的去噪质量,硬阈值函数和软阈值函数对信号的处理效果也会因阈值的变化有所差异。
硬阈值函数表达式为
软阈值函数表达式为
为解决最优阈值的选取问题,采用遗传算法对紫外-可见光谱数据进行小波去噪时的阈值进行全局寻优。遗传算法的流程如图1 所示。在求解最优问题时,首先生成初始种群,对种群的每一个个体进行编码,根据适应度函数对符合条件的个体进行筛选,经过交叉和变异重新组合后产生下一代个体,循环到适应度函数最大时输出最优个体,此时完成最优解的优化过程。
图1 遗传算法流程图Fig.1 Flow chart of genetic algorithm
遗传算法应用于紫外-可见光谱数据去噪领域,能够有效去除噪声。针对紫外-可见光谱数据存在的高频噪声难以有效去除的问题,采用基于遗传算法的小波去噪方法能够在保留光谱特征信息的条件下,极大地提高去噪效果。具体步骤如下:
1)对优化参数的编码:通常情况下,在求解不同问题时,遗传算法采用不同的编码方式。为提高运算速度,扩大搜索空间,本研究采用十进制进行编码;
2)初始种群的产生:随机产生初始种群的个体,种群大小为30;
3)适应度函数的选择:选择合适的适应度函数对求解最优阈值至关重要,这里选用信噪比RSN作为适应度函数。其表达式为
式中:x(t)表示原始光谱信号,x(ˆt)表示去噪后光谱信号,N代表信号长度。
4)个体的选择、交叉和变异:计算个体的适应度,符合条件的个体将被保留。随后个体间进行交叉和变异,设置交叉概率为0.8,变异概率为0.01,然后进入下一代的循环,这样在保存较好解的同时,保持了种群的多样性,扩大了搜索空间;
5)设定终止条件:将最大迭代次数设定为30,当迭代次数到达终止条件时,适应度函数的最大值即为最优参数。
为验证基于遗传算法的小波分析对紫外-可见光谱去噪的可行性,采用C10082CAH 光谱仪和DH2000光源实测化学需氧量(COD)为80 mg·L−1的邻苯二甲酸氢钾标准溶液,其紫外-可见吸收光谱图如图2(a)所示。为提高光谱信号的准确性和消除末端吸收的影响,选取190∼800 nm 波长范围作为有效区间。由图可知,紫外-可见原始光谱图特征明显且非常稳定,在200∼300 nm 之间出现两个明显的特征吸收峰,在200 nm左右存在少许噪声,推测是由光源的不稳定跳变引起的,可通过对光源的校正消除影响。300 nm 及以后波段非常稳定,几乎不含噪声。
为了更为直观地展示遗传算法的去噪效果,在C10082CAH 光谱仪采集到的光谱数据上人为地加上噪声,并将该原始光谱作为标准光谱使用。实验中将采集到的光谱数据加上30 dB 的噪声,加噪后的光谱图如图2(b)所示。由图可知,光谱信号被噪声污染,主要特征受到噪声干扰,特别是在300 nm 之后,噪声污染的现象更为严重。实验分别采用小波阈值去噪、SG 平滑去噪、中值滤波去噪和遗传算法去噪。
图2 邻苯二甲酸氢钾标液的原始(a)和加噪后(b)紫外-可见光谱图Fig.2 Original(a)and noise-added(b)UV-Vis spectra of potassium hydrogen phthalate standard solution
对C10082CAH 光谱仪和DH2000 光源组合测得的原始光谱数据人为加噪后进行小波阈值去噪。首先需要确定恰当的小波基和分解层数,由于光谱数据的特征尤为重要,影响到后续水质参数的测定和稳定性,故选用常用小波基中的Haar 小波、Daubechies 小波和Symlet 小波作对比实验,观察各小波基对去噪效果的影响,实验结果如图3 所示。由图可以看出,采用db4 小波基在4 层分解时均方根误差(RMSE)值最小,此时小波重构能够达到最优的去噪效果。值得一提的是,研究发现,除Haar 小波在4 层分解时就出现失真现象外,其他小波基在第5 层分解时也都出现了不同程度的失真,因此选用4 层分解最为合适。
图3 5 种小波基进行不同分解层数的去噪对比Fig.3 Comparison of denoising effects of 5 wavelet bases at different decomposition layers
同时,选用曲线更为平滑、信号更稳定的软阈值对含噪光谱信号进行处理。不同分解尺度下的小波软阈值去噪光谱图如图4 所示,含噪光谱信号在第3 层分解时已经有明显的效果,在第4 层时去噪效果达到较好水平,而在第5 层时出现了轻微的失真现象。
图4 不同尺度的小波软阈值去噪。(a)3 层分解;(b)4 层分解;(c)5 层分解Fig.4 Wavelet soft threshold denoising at different scales.(a)Three layers decomposition,(b)four layers decomposition,(c)five layers decomposition
图5 为四种不同去噪方法对邻苯二甲酸氢钾标液的紫外-可见光谱数据去噪前后对比。选用4 层分解时的小波软阈值去噪效果如图5(a)所示,其中阈值λ1为0.1307。在实验过程,还加入了SG 平滑和中值滤波方法对含噪光谱信号进行处理作为对比实验,去噪后的光谱图分别如图5(b)、(c)所示。遗传算法对含噪光谱数据的去噪结果如图5(d)所示,其中阈值λ2为0.0793。
图5 四种不同去噪方法对邻苯二甲酸氢钾标液的紫外-可见光谱数据去噪前后对比。(a)小波软阈值去噪;(b)SG 平滑去噪;(c)中值滤波去噪;(d)遗传算法去噪Fig.5 Comparison of UV-Vis spectrum data of potassium hydrogen phthalate standard solution before and after denoising by four different denoising methods.(a)Wavelet soft threshold denoising,(b)SG smoothing denoising,(c)median filter denoising,(d)genetic algorithm denoising
基于遗传算法的小波去噪理论,其核心在于最优阈值的选取。首先随机生成初始种群,采用适应度函数对个体进行筛选,当迭代次数到达终止条件时,适应度函数的最大值就是求解的最优阈值,再对含噪光谱信号进行小波软阈值去噪,达到最佳去噪效果,遗传算法迭代优化过程如图6 所示。由图6 可以看出,遗传算法在第1 代和第5 代时达到局部最优解,最后在第10 代时达到了最优解,曲线趋于平稳,此时求得的阈值就是最优阈值。
图6 遗传算法优化曲线Fig.6 Optimization curve of genetic algorithm
结果显示,遗传算法和小波阈值去噪都能有效地去除大部分噪声,去噪后光谱曲线清晰。但是小波阈值去噪后的光谱信号在第二个特征吸收峰处出现了轻微的失真现象,相较于原始光谱而言其吸光度略有下降,在可见光波段存在少许噪声。与之相对的是,遗传算法的去噪方法在200∼300 nm 之间的两个特征吸收峰处与原始光谱保持一致,完整地还原了光谱特征,保留了重要的光谱信息,不存在失真现象。但在400∼540 nm处还存在轻微的噪声,说明此方法在杂散光的去噪处理方面还有待改进的空间。同时,中值滤波虽然也能去除大量噪声,但在第一个特征吸收峰处出现了轻微的失真现象,在第二个特征吸收峰附近还存在少量噪声,可见光波段还存在明显噪声,去噪效果不佳;SG 平滑对含噪信号的去噪效果非常有限,不仅在两个特征吸收峰处都出现了不同程度的失真,在可见光波段更是含有大量噪声无法滤除。
此外,为了更好地评价各方法的去噪效果,引入了去噪的评价指标均方根误差ERMS和峰值信噪比RPSN,其表达式分别为
式中L为x(t)的长度。
四种去噪方法的评价参数值如表1 所示,其中R表示相关系数。由表可知,遗传算法对于紫外-可见光谱去噪效果显著,信噪比分别提高了2.2994、5.7066、2.6155 dB,均方根误差分别提高了0.0028、0.0087、0.0033,峰值信噪比分别减小了2.0837、5.2569、2.7375 dB。不仅很好地抑制了噪声,也有效地保留了光谱的特征信息,减小了误差。由此可见,基于遗传算法的小波去噪方法更适用于该系统采集的紫外-可见光谱去噪处理。
表1 不同方法去噪效果对比Table 1 Comparison of denoising effects of different methods
为了验证遗传算法去噪的实际可行性,对利用USB2000+光谱仪结合脉冲氙灯光源测得的实地水样光谱数据进行去噪处理。在实际测量中,USB2000+光谱仪能够适应复杂环境的检测,实现水质参数快速实时在线检测,同时实际应用中光谱数据也会受外界杂散光和光源非稳定性跳变引起的噪声干扰。因此,在证实基于遗传算法的小波分析对实验室含噪光谱数据处理效果显著的基础上,进一步探究该方法应用于USB2000+实际检测光谱去噪的可行性。利用遗传算法去噪对两种不同实地水样光谱数据的去噪结果如图7 所示。
图7 两种实地水样光谱遗传算法去噪效果对比。(a)某污水处理厂排水口水样;(b)某地排水沟水样Fig.7 Comparison of denoising effects of two kinds of field water samples based on genetic algorithm.(a)Water samples of a sewage treatment plant,(b)water samples of a drainage ditch
结果表明,对于两种实测水样光谱的去噪效果良好,可有效去除采集过程中杂散光和系统不稳定造成的噪声影响。某污水处理厂排水口水样去噪后保留了光谱的特征信息,具备较好的完整性;某地排水沟水样在可见光波段存在大量非稳定性跳变,经过遗传算法去噪后消除了信号的非稳定跳变,光谱曲线清晰。综上所述,本方法在保留光谱特征信息的前提下,有效地抑制了噪声,为后续的建模分析提供了保障。
针对紫外-可见光谱法检测系统中光谱数据含有噪声,同时小波阈值去噪无法达到预期结果的问题,引入了遗传算法寻求最优阈值的方法,主要结论为:
1)解决了传统小波软阈值在处理光谱信号时存在失真的问题,较好地留存了光谱的完整性,并与其他三种方法作了对比实验,验证了该算法的可行性。
2)为了更好地评价去噪效果,重点关注了去噪信号与原始光谱信噪比和均方根误差。实验结果表明,基于遗传算法的小波阈值去噪对邻苯二甲酸氢钾标液的紫外-可见光谱数据去噪效果显著,明显优于其他三种去噪方法。
3)该方法能在保留光谱特征信息的前提下,有效去除噪声,提高光谱的信噪比,减小误差。同时,对工业级光谱仪采集的光谱数据进行了去噪测试,结果表明去噪效果良好,验证了该方法的实际可行性,为低成本水质检测系统的去噪提供了一种新的解决办法。