陳 希,李麗娜
(華僑大學(xué)機(jī)電及自動(dòng)化學(xué)院,福建 廈門(mén)361021)
隨著社會(huì)經(jīng)濟(jì)的高速發(fā)展、工業(yè)化進(jìn)程的不斷加快,全球水資源問(wèn)題日益嚴(yán)重。中國(guó)水資源占有總量排在世界前列,但由于人口眾多,中國(guó)人均水資源占有量?jī)H有世界人均占有量的1/4。保護(hù)水資源、防止水污染至關(guān)重要[1]。
水質(zhì)參數(shù)(包括物理性指標(biāo)、化學(xué)性指標(biāo)和生物性指標(biāo))檢測(cè)是保障人類(lèi)安全用水的前提,通過(guò)水質(zhì)檢測(cè)可確定水污染分布狀況、預(yù)測(cè)污染物的變化趨勢(shì),為水污染防治工作提供技術(shù)支持[2]。
水質(zhì)參數(shù)檢測(cè)方法包括常規(guī)化學(xué)分析檢測(cè)方法、紫外/可見(jiàn)光譜法、熒光光譜法、原子吸收光譜法、氣相色譜法和可見(jiàn)/近紅外(visible near infrared,VIS-NIR)光譜法等[3-4]??梢?jiàn)/近紅外光譜分析法具有檢測(cè)速度快、無(wú)污染、綠色環(huán)保、操作簡(jiǎn)單等優(yōu)點(diǎn),是近年來(lái)水質(zhì)參數(shù)檢測(cè)的研究熱點(diǎn)之一。
基于可見(jiàn)/近紅外光譜技術(shù)的水質(zhì)參數(shù)檢測(cè)方法,在最終實(shí)現(xiàn)應(yīng)用前,通常需通過(guò)標(biāo)定實(shí)驗(yàn)來(lái)確定測(cè)量模型[5-7]。測(cè)量模型的訓(xùn)練通常在MATLAB軟件上進(jìn)行,通過(guò)反復(fù)多次計(jì)算和分析,從而選擇適當(dāng)?shù)念A(yù)處理方法、確定最佳的多元回歸模型參數(shù),模型訓(xùn)練的計(jì)算和分析過(guò)程較為復(fù)雜耗時(shí)。
為方便研究人員開(kāi)展水質(zhì)光譜分析實(shí)驗(yàn)數(shù)據(jù)的分析,提高測(cè)量模型的建模效率,本設(shè)計(jì)研究開(kāi)發(fā)了一套基于MATLAB的水質(zhì)參數(shù)光譜分析的GUI界面,通過(guò)導(dǎo)入數(shù)據(jù)、預(yù)處理、多元校正、數(shù)據(jù)輸出4個(gè)模塊,提供常見(jiàn)的預(yù)處理方法和經(jīng)典的多元回歸方法。并通過(guò)蒸餾水pH值光譜分析基礎(chǔ)實(shí)驗(yàn)數(shù)據(jù),對(duì)該可視化軟件效果進(jìn)行了驗(yàn)證。
圖形用戶界面,是用戶與計(jì)算機(jī)程序之間建立聯(lián)系,并進(jìn)行數(shù)據(jù)交流的一種方式。它包含窗口、圖標(biāo)、菜單、文本、工具欄等圖形對(duì)象。用戶借助操作或更改的方式,選擇或激活圖形對(duì)象,建立屬于各自研究問(wèn)題領(lǐng)域的可視化交互界面。通過(guò)圖形用戶界面,用戶只要知道如何使用界面的每個(gè)組件,就可以與計(jì)算機(jī)建立聯(lián)系,進(jìn)行數(shù)據(jù)交流,操作簡(jiǎn)單、直觀[8]。
本設(shè)計(jì)主要面向水質(zhì)參數(shù)光譜分析領(lǐng)域,基于MATLAB/GUI編輯調(diào)整的可視化分析界面如圖1所示。
圖1 水質(zhì)參數(shù)光譜分析的可視化界面
主要包括導(dǎo)入數(shù)據(jù)模塊、預(yù)處理模塊、多元校正模塊、數(shù)據(jù)輸出模塊。導(dǎo)入數(shù)據(jù)模塊的功能是,導(dǎo)入校正集、驗(yàn)證集數(shù)據(jù),并可顯示原始數(shù)據(jù)的光譜圖;預(yù)處理模塊的功能是,提供常見(jiàn)的光譜預(yù)處理方法,包括最大最小歸一化、零均值化、一階導(dǎo)數(shù)、二階導(dǎo)數(shù)、多元散射校正(multiple scatter correction,MSC)和標(biāo)準(zhǔn)正態(tài)變量變換(standard normal variate transformation,SNV),并可顯示預(yù)處理后的光譜圖;多元校正模塊的功能是,提供經(jīng)典的偏最小二乘(partial least squares,PLS)回歸模型,通過(guò)輸入主成分個(gè)數(shù),計(jì)算該參數(shù)條件下的預(yù)測(cè)均方根誤差(root mean square error of prediction,RMSEP),并可顯示預(yù)測(cè)值與參考值的比較圖,為工程應(yīng)用人員進(jìn)行模型訓(xùn)練提供參考。
MATLAB是美國(guó)MathWorks公司開(kāi)發(fā)的一套高性能數(shù)字計(jì)算軟件,MATLAB既能進(jìn)行科學(xué)計(jì)算,又能根據(jù)用戶需求,開(kāi)發(fā)出便于計(jì)算和分析的用戶圖形界面(GUI)。用戶通過(guò)選擇、激活這些圖形對(duì)象,可實(shí)現(xiàn)計(jì)算、繪圖,提高工程應(yīng)用人員研究效率[9-10]。本研究設(shè)計(jì)的水質(zhì)參數(shù)光譜分析可視化界面,主要開(kāi)發(fā)步驟和方法如下。
首先,在MATLAB主界面的Command Window中輸入guide,得到用戶圖形界面模板選擇窗口,選擇默認(rèn)空白(BLANK GUI)選項(xiàng),如圖2所示,然后可進(jìn)入編輯界面,如圖3所示。
圖2 GUI模板選擇窗口
圖3 GUI編輯界面
接著,在GUI編輯界面上建立需要的控件,編輯控件的基本屬性,將界面各個(gè)控件擺放整齊、美觀、方便。
然后,根據(jù)各控件需要完成的功能,編輯回調(diào)函數(shù)。
最后,進(jìn)行可視化界面的結(jié)構(gòu)優(yōu)化設(shè)計(jì)和程序調(diào)試。
對(duì)于導(dǎo)入數(shù)據(jù)模塊,由八個(gè)靜態(tài)文本框、六個(gè)按鈕組成。設(shè)置靜態(tài)文本框的屬性作為提醒使用者的提示,導(dǎo)入數(shù)據(jù)按鈕按下后運(yùn)行對(duì)應(yīng)的回調(diào)函數(shù),打開(kāi)文件夾并且從文件夾中選擇需要的文件加載到程序中。
MATLAB函數(shù)global可用于定義全局變量。
MATLAB函數(shù)[filename,filepath]=uigetfile('*.*','請(qǐng)選擇文件')可實(shí)現(xiàn)從文件夾中選擇數(shù)據(jù)。
MATLAB函數(shù)set(handles.text6,'String',[filename])可實(shí)現(xiàn)將文件名顯示在界面上。
MATLAB函數(shù)importdata(strcat([filepath,filename]))可實(shí)現(xiàn)文件的導(dǎo)入。
MATLAB函數(shù)axes(handles.axes1)、plot,可實(shí)現(xiàn)在axes1坐標(biāo)上繪圖,點(diǎn)擊“生成光譜圖”按鈕,就會(huì)在界面繪圖區(qū)顯示光譜圖。
類(lèi)似的,對(duì)于預(yù)處理模塊、多元校正模塊、數(shù)據(jù)輸出模塊,基于MATLAB編輯好對(duì)應(yīng)的預(yù)處理函數(shù)、多元回歸函數(shù)及其回調(diào)函數(shù),可實(shí)現(xiàn)預(yù)處理方法的選擇、PLS模型參數(shù)“主成分個(gè)數(shù)”設(shè)置、PLS模型的運(yùn)行、RMSEP的計(jì)算以及預(yù)測(cè)值與參考值比較的圖形繪制。
MATLAB函數(shù)k=str2num(get(handles.edit1,'String'))可實(shí)現(xiàn)從可輸入編輯框中獲得參數(shù)k。
MATLAB函數(shù)guidata(hObject,handles)可實(shí)現(xiàn)從可輸入編輯框中獲得輸入的主成分個(gè)數(shù)。
采用可見(jiàn)/近紅外分光光度計(jì)V-1800PC(上海美譜達(dá)儀器公司)測(cè)量樣品光譜,光譜波長(zhǎng)間隔2 nm。1 cm的石英池用于裝載水樣。pH值的參考值采用精度為±0.1個(gè)單位的酸度計(jì)(上海力辰儀器公司)測(cè)量。為了獲得不同酸堿度的水樣,在蒸餾水中隨機(jī)加入0.1 mmol/L的HCL或0.1 mmol/L的NaOH,用酸度計(jì)測(cè)量獲得pH參考值。采用透射式測(cè)量獲取每個(gè)樣品的光譜數(shù)據(jù)。采集的光譜波長(zhǎng)范圍是400~1 100 nm,共351個(gè)波長(zhǎng)。
實(shí)驗(yàn)中共獲得34個(gè)樣本,其中24個(gè)樣本作為校正集、11個(gè)樣本作為驗(yàn)證集,用于PLS模型訓(xùn)練,來(lái)測(cè)試本設(shè)計(jì)開(kāi)發(fā)GUI界面的性能。圖4為應(yīng)用本設(shè)計(jì)開(kāi)發(fā)的可視化界面繪制的圖像,圖4(a)為原始光譜圖,圖4(b)為經(jīng)標(biāo)準(zhǔn)正態(tài)變量變換預(yù)處理后的光譜圖。通過(guò)設(shè)置不同的主成分個(gè)數(shù),然后運(yùn)行PLS,可以得到不同的模型精度參數(shù)值RMSEP,根據(jù)RMSEP來(lái)確定最優(yōu)的主成分個(gè)數(shù),應(yīng)用本研究設(shè)計(jì)開(kāi)發(fā)的可視化界面,可以方便的調(diào)整參數(shù),確定最佳的PLS模型,提高建模效率。例如,經(jīng)標(biāo)準(zhǔn)正態(tài)變量變換預(yù)處理后,設(shè)置主成分個(gè)數(shù)為10,PLS模型的預(yù)測(cè)參數(shù)RMSEP顯示為0.335 221。PLS模型的預(yù)測(cè)值與參考值的對(duì)比圖如圖5所示。
圖4 GUI輸出光譜圖界面
圖5 GUI輸出PLS模型的預(yù)測(cè)值與參考值的對(duì)比圖頁(yè)面
水質(zhì)檢測(cè)用于確保用水安全,對(duì)居民生活、工業(yè)生產(chǎn)和環(huán)境保護(hù)都非常重要??梢?jiàn)/近紅外光譜分析技術(shù)具有簡(jiǎn)便、快速、經(jīng)濟(jì)、無(wú)污染等優(yōu)點(diǎn),是目前極具發(fā)展前景的水質(zhì)參數(shù)檢測(cè)方法之一。為方便研究人員進(jìn)行光譜分析,本研究設(shè)計(jì)開(kāi)發(fā)了一套基于MATLAB/GUI的水質(zhì)參數(shù)光譜分析的可視化界面。應(yīng)用該水質(zhì)參數(shù)光譜分析界面,可快速切換預(yù)處理方法和主成分個(gè)數(shù),根據(jù)PLS模型精度參數(shù)、以及預(yù)測(cè)值和參考值的圖像分析,達(dá)到快速確定最佳預(yù)處理方法和多元校正模型,提高建模效率的目的?;贛ATLAB/GUI的可視化圖形界面,設(shè)計(jì)界面簡(jiǎn)潔清晰,可極大方便研究人員開(kāi)展水質(zhì)參數(shù)光譜分析工作,提高研究效率。