李金金,孫哲華,孟慶浩
(天津大學 電氣自動化與信息工程學院,天津,300072)
白酒作為世界六大蒸餾酒之一,是國人的重要日常消費品。用于白酒檢測的方法主要包括感官評價法及分析儀器法[1-4]。感官評價法存在重復性低、主觀性強及個體差異大等問題,而分析儀器等檢測設備體積大、價格高,較難實現實時評測。因此,有必要研發用于白酒快速檢測和識別的新技術。
電子鼻是一種混合氣味檢測與識別設備,具有快速、無損等優點,在食品檢測領域中發揮了重要作用[5-7],在白酒檢測方面應用[8-16]。
便攜性或小型化對提高電子鼻的實用性非常重要。在便攜式電子鼻的研究中,美國研制的商業化電子鼻Cyranose320是其典型代表,它采用32個聚合物傳感器組成陣列,尺寸為(10×22×5)cm[17]。徐后坤[18]、ZHANG[19]設計了用于VOC氣體檢測的手持式電子鼻。張延軍[20]和LI[21]開發了用于豬肉新鮮度檢測的手持式電子鼻系統。李宇驍[22]開發了基于51單片機的無線式手持式電子鼻,用于7種中草藥的識別。目前便攜式電子鼻方面的研究[14, 23-24]大多集中在數據處理。
本文以6種白酒為檢測和識別對象,開發了一種基于仿生氣室的手持式電子鼻系統,并根據采集響應信號特點,分析比較了主成分分析(principal component analysis,PCA)、核主成分分析(kernel principal component analysis,KPCA)和核熵成分分析(kernel entropy component analysis,KECA)3種降維方法以及支持向量機(support vector machine,SVM)、K近鄰(K-nearest neighbor,KNN)和反向傳播人工神經網絡(back-propagation artificial neural network,BP-ANN)算法對白酒識別率的影響,選出了最優算法,最后將其應用到白酒識別實驗中,驗證了手持式電子鼻的適用性。
根據白酒香味物質特點(乙酸乙酯、醇、醛等)對氣體傳感器陣列進行了優化,最終選定6種傳感器用于手持式電子鼻,分別是CCS801和CCS803(英國CCS),TGS8100(日本Figaro),MiCS-5914、MiCS-5524和MiCS-4514(英國E2V),并將最終選定的氣體傳感器和溫濕度傳感器制成傳感器陣列電路。
手持式電子鼻系統采用動態頂空采樣方法,并設計了泵吹式氣路系統。為了實現電子鼻小型化,對各個硬件模塊的選型進行了嚴格的控制。
自行設計的白酒檢測用手持式電子鼻系統實物如圖1所示。該電子鼻系統總重283 g,長11 cm,寬9 cm,高3 cm,平均功率在5 W以內。圖1左側圖給出了系統的主要組成部分,圖1右側展示了所設計電子鼻系統與一個6.4英寸手機的對比。

圖1 自制手持式白酒檢測電子鼻系統實物圖Fig.1 Photos of the self-designed handheld e-nose system for liquor detection
圖2給出了仿生氣室結構示意圖。其中,序號1和6分別是氣室的入口和出口,序號2代表氣室的流線型外殼,序號3是豎直隔板,序號4是水平擋板,序號5表示小圓柱結構,4個小圓柱結構通過螺絲將氣體傳感器陣列電路板緊固。

圖2 仿生氣室結構示意圖Fig.2 Schematic diagram of the bionic chamber
為比較不同氣室方案對電子鼻系統的影響,設定總仿真時間為70 s,其中采樣時間1 s,清洗時間69 s;取仿真時間為1 s時傳感器陣列處的平均氣壓(相對于標準大氣壓)和氣室出口處平均氣流速度進行對比,結果如表1所示。

表1 各氣室方案對應的氣流速度和氣壓值Table 1 Airflow velocity and pressure of each chamber scheme
綜合考慮氣壓、氣流速度和氣體殘留情況,選擇擋板高度為3 mm的氣室方案6作為最優仿生氣室,并將其應用于手持式電子鼻的設計。
1.2.1 采樣數據預處理
為了消除來自傳感器陣列原始數據的噪聲干擾,使用了中位值平均濾波和Savitzky-Golay(S-G)濾波。中位值濾波可以有效濾除硬件電路中孤立的脈沖噪聲,S-G濾波對氣體傳感器響應值的上下波動具有較好的平滑效果。
中位值濾波是將某一點的真實值用該點鄰域窗口內所有點的中值代替,這種方法既能解決偶然因素引起的波動現象,也能使曲線更加平滑,如公式(1)所示:
y(i)=Median{x(i-N),…,x(i),…,x(i+N)}
(1)
式中:x(i)表示傳感器第i個采樣數值,即為位于窗口中心的傳感器響應值,y(i)是更新后的窗口中心值,N為正整數,L=2N+1。
S-G濾波是一種在時域內基于局域多項式最小二乘法擬合方法,具體方法如下:
首先建立一個寬度為n=2m+1的濾波窗口,m為窗口半徑,取為51,設各個測量點為x=(-m,-m+1,…,m),采用k-1次多項式對窗口內的數據點進行擬合,為保證每個參數有解,取k y=a0+a1x+a2x2+…+ak-1xk-1 (2) 式中:將這n個測量點帶入方程,然后用最小二乘法將系數ai擬合出來,最后將中間點x0代入原多項式中,得到對應的y0,用該值作為最佳擬合值代替原來對應的值。 本文采用的數據預處理方法是上述中位值濾波和S-G濾波的疊加,即先進行L=51的中位值濾波,然后再進行滑動窗口為51,多項式階數為3的S-G濾波。圖3給出了傳感器CCS801的一條原始響應曲線,使用上述兩種濾波方法后的響應曲線如圖4所示。由圖4可知,濾波后傳感器響應曲線更平滑,可以較好地去除傳感器響應中存在的噪聲。 圖3 CCS801傳感器響應曲線Fig.3 Response curve of CCS801 sensor 圖4 濾波后的CCS801傳感器響應曲線Fig.4 Response curve of CCS801 sensor after filtering 1.2.2 特征提取 依據手持式電子鼻的采樣方式和數據曲線的形狀特點,最終選取了5個特征參數如下:一階微分最大值Maxder、一階微分最小值Minder、二階微分最大值Maxsder、一階微分最大值處對應的響應值Re、響應相對差值Rr,提取特征的公式如下: (3) (4) (5) Re=Maxder×dt (6) Rr=max(St)-St0 (7) 式中:St為傳感器輸出電壓信號對應的數字量,St0為響應起始點對應的傳感器輸出電壓信號所對應的數字量。 1.2.3 特征降維和分類方法 經過特征提取后,傳感器響應數據仍為高維陣列矩陣,特征之間存在一定的冗余信息。為了消除這些冗余信息的影響,需要進一步降維才可用于分類器。本文分別使用PCA、KPCA和KECA 3種方法進行降維,并對其進行了對比,選出最佳的降維方法。分類算法選擇了3種比較常用的模式識別算法來分別進行分類識別,分別是SVM、KNN和BP-ANN。 本文選取了6種不同類型的白酒,其具體信息見表2。采樣時,室內溫度28 ℃,相對濕度30%。實驗采用的采樣參數設置如下[25]:采樣頻率為400 Hz;采樣時間40 s,其中吸氣時間為1 s,吸氣等待時間為3 s,呼氣時間為35 s,呼氣等待時間為1 s;氣室清洗時間為30 s,然后再針對采集到的數據進行上述所提到的預處理以及特征提取。 表2 實驗白酒樣本信息Table 2 Information of Chinese liquors used in the experiment 本文分別采用PCA,KPCA,KECA 3種方法對提取出的特征進行降維,對降維后的數據分別取前2個主成分繪圖以探究其降維后對于分類的效果,如圖5所示,其中橫縱坐標分別是第一主成分和第二主成分,括號中的值為其貢獻值。從前2個主成分的貢獻值可以看出,KECA和KPCA的前2個主成分元的累積貢獻率分別達到了98.21%和96.03%,而PCA前2個主成分元的貢獻率為69.98%,可以看出KECA和KPCA兩種降維方法對于數據的主要信息的提取程度要比PCA要強,并且KECA效果最好。從主成分分析圖中可以看出,3種降維方法的分類效果類似,都有2到3種樣本的分類效果較好,其他種類的樣本則存在一定程度的混亂,體現在圖中即為不同類型的點相互混雜。所以還需要進一步分析,才能確定針對白酒的最優降維方法。 a-PCA降維后的主成分分布;b-KPCA降維后的主成分分布;c-KECA降維后的主成分分布圖5 基于3種不同的降維方法白酒樣本主成分分布Fig.5 Distribution of principal components in liquor samples based on three different dimension reduction methods 為了定量地描述不同降維方法的分類性能,本文引入了樣本特征的類間離散度Sb和類內離散度Sw,其中Sb表示不同類別樣本之間的分離程度,Sw代表同一類別樣本的分離程度,其定義如公式(8)、(9)所示: (8) (9) 式中:c為樣本類別數,ni是第i類樣本的樣本數,mi是第i類樣本的均值,m是所有樣本的均值,xij是第i類的第j個樣本。 從類內離散度和類間離散度的計算過程來看,其中必要的步驟之一就是求得樣本之間的歐氏距離,而歐式距離存在取值范圍大的特征的影響會高于取值范圍小的特征的問題,所以在計算類內離散度和類間離散度之前首先需要進行歸一化以解決上述問題,歸一化的定義如公式(10): (10) 式中:ai代表第i個特征中的一個特征值,max(ai)、min(ai)分別代表所有樣本的第i個特征中的最大值和最小值。 從分類角度來看,類間離散度應該越大越好,而類內離散度應該越小越好,這樣有利于后續的分類。針對不同降維方法的類間離散度、類內離散度以及二者比值如表3所示,KECA降維方法的比值明顯大于其他兩種降維方法。綜上,使用KECA進行降維有利于后續的分類識別,所以在后續分類識別算法中將采用KECA來進行降維。為了盡可能保證信息的完全,通過主元成分累計貢獻率達到99.8%來確定最終降維后的維數,最終確定的KECA降維后的維數為10維。 表3 三種降維方法對應的類間離散度和類內離散度Table 3 Inter-class dispersion and intra-class dispersion corresponding to three dimension reduction methods 基于仿生氣室的白酒樣本共有426個,隨機取其中的50個作為測試樣本,其余作為訓練樣本進行分類識別。進行多次訓練集和測試集的選取和訓練,以保證結果的客觀性。 將仿生氣室下的手持式電子鼻采樣數據作為分類樣本,采用KECA進行降維,6類白酒樣本共有396個,其中每類白酒有52~90個樣本,取出總數的10%作為訓練樣本,并且保證訓練樣本中包含所有類別白酒,經過多次隨機挑選訓練樣本后取分類正確率的平均值以分析分類效果,3種分類方法的識別結果如表4所示。 表4 三種分類算法的正確率Table 4 Accuracies of three classification algorithms 由表4可知,經過KECA降維后,BP-ANN對白酒的識別正確率最高(99.10%),其次是KNN和SVM。但是從運行時間來講,在相同訓練、測試樣本數量以及迭代次數(即重新選擇訓練集和樣本集)的情況下,SVM的分類識別時間為2.99 s,KNN的分類識別時間為1.10 s,而BP-ANN神經網絡需要的時間為85.18 s。從手持式電子鼻對對白酒識別的在線和快速方面考慮,綜合識別正確率和運行時間,建議選擇KNN作為分類算法。 通過對6種白酒的采樣、數據預處理、特征提取、降維和分類處理等操作,驗證了本文自主研發的手持式電子鼻系統可用于白酒的在線檢測與識別;分析比較了PCA、KPCA和KECA三種方法對氣體傳感器信號特征的降維效果,基于前2個主成分貢獻值以及類間離散度和類內離散度比值,發現KECA效果更好;綜合比較了SVM、KNN和BP-ANN三種分類算法的識別率和運行時間,3種方法識別率均可達到94%以上,但KNN的識別時間最短。

2 結果與分析
2.1 實驗材料以及采樣過程

2.2 三種降維方法對比


2.3 三種分類算法對比

3 結論