李金金,孫哲華,孟慶浩
(天津大學(xué) 電氣自動(dòng)化與信息工程學(xué)院,天津,300072)
白酒作為世界六大蒸餾酒之一,是國人的重要日常消費(fèi)品。用于白酒檢測的方法主要包括感官評價(jià)法及分析儀器法[1-4]。感官評價(jià)法存在重復(fù)性低、主觀性強(qiáng)及個(gè)體差異大等問題,而分析儀器等檢測設(shè)備體積大、價(jià)格高,較難實(shí)現(xiàn)實(shí)時(shí)評測。因此,有必要研發(fā)用于白酒快速檢測和識別的新技術(shù)。
電子鼻是一種混合氣味檢測與識別設(shè)備,具有快速、無損等優(yōu)點(diǎn),在食品檢測領(lǐng)域中發(fā)揮了重要作用[5-7],在白酒檢測方面應(yīng)用[8-16]。
便攜性或小型化對提高電子鼻的實(shí)用性非常重要。在便攜式電子鼻的研究中,美國研制的商業(yè)化電子鼻Cyranose320是其典型代表,它采用32個(gè)聚合物傳感器組成陣列,尺寸為(10×22×5)cm[17]。徐后坤[18]、ZHANG[19]設(shè)計(jì)了用于VOC氣體檢測的手持式電子鼻。張延軍[20]和LI[21]開發(fā)了用于豬肉新鮮度檢測的手持式電子鼻系統(tǒng)。李宇驍[22]開發(fā)了基于51單片機(jī)的無線式手持式電子鼻,用于7種中草藥的識別。目前便攜式電子鼻方面的研究[14, 23-24]大多集中在數(shù)據(jù)處理。
本文以6種白酒為檢測和識別對象,開發(fā)了一種基于仿生氣室的手持式電子鼻系統(tǒng),并根據(jù)采集響應(yīng)信號特點(diǎn),分析比較了主成分分析(principal component analysis,PCA)、核主成分分析(kernel principal component analysis,KPCA)和核熵成分分析(kernel entropy component analysis,KECA)3種降維方法以及支持向量機(jī)(support vector machine,SVM)、K近鄰(K-nearest neighbor,KNN)和反向傳播人工神經(jīng)網(wǎng)絡(luò)(back-propagation artificial neural network,BP-ANN)算法對白酒識別率的影響,選出了最優(yōu)算法,最后將其應(yīng)用到白酒識別實(shí)驗(yàn)中,驗(yàn)證了手持式電子鼻的適用性。
根據(jù)白酒香味物質(zhì)特點(diǎn)(乙酸乙酯、醇、醛等)對氣體傳感器陣列進(jìn)行了優(yōu)化,最終選定6種傳感器用于手持式電子鼻,分別是CCS801和CCS803(英國CCS),TGS8100(日本Figaro),MiCS-5914、MiCS-5524和MiCS-4514(英國E2V),并將最終選定的氣體傳感器和溫濕度傳感器制成傳感器陣列電路。
手持式電子鼻系統(tǒng)采用動(dòng)態(tài)頂空采樣方法,并設(shè)計(jì)了泵吹式氣路系統(tǒng)。為了實(shí)現(xiàn)電子鼻小型化,對各個(gè)硬件模塊的選型進(jìn)行了嚴(yán)格的控制。
自行設(shè)計(jì)的白酒檢測用手持式電子鼻系統(tǒng)實(shí)物如圖1所示。該電子鼻系統(tǒng)總重283 g,長11 cm,寬9 cm,高3 cm,平均功率在5 W以內(nèi)。圖1左側(cè)圖給出了系統(tǒng)的主要組成部分,圖1右側(cè)展示了所設(shè)計(jì)電子鼻系統(tǒng)與一個(gè)6.4英寸手機(jī)的對比。
圖1 自制手持式白酒檢測電子鼻系統(tǒng)實(shí)物圖Fig.1 Photos of the self-designed handheld e-nose system for liquor detection
圖2給出了仿生氣室結(jié)構(gòu)示意圖。其中,序號1和6分別是氣室的入口和出口,序號2代表氣室的流線型外殼,序號3是豎直隔板,序號4是水平擋板,序號5表示小圓柱結(jié)構(gòu),4個(gè)小圓柱結(jié)構(gòu)通過螺絲將氣體傳感器陣列電路板緊固。
圖2 仿生氣室結(jié)構(gòu)示意圖Fig.2 Schematic diagram of the bionic chamber
為比較不同氣室方案對電子鼻系統(tǒng)的影響,設(shè)定總仿真時(shí)間為70 s,其中采樣時(shí)間1 s,清洗時(shí)間69 s;取仿真時(shí)間為1 s時(shí)傳感器陣列處的平均氣壓(相對于標(biāo)準(zhǔn)大氣壓)和氣室出口處平均氣流速度進(jìn)行對比,結(jié)果如表1所示。
表1 各氣室方案對應(yīng)的氣流速度和氣壓值Table 1 Airflow velocity and pressure of each chamber scheme
綜合考慮氣壓、氣流速度和氣體殘留情況,選擇擋板高度為3 mm的氣室方案6作為最優(yōu)仿生氣室,并將其應(yīng)用于手持式電子鼻的設(shè)計(jì)。
1.2.1 采樣數(shù)據(jù)預(yù)處理
為了消除來自傳感器陣列原始數(shù)據(jù)的噪聲干擾,使用了中位值平均濾波和Savitzky-Golay(S-G)濾波。中位值濾波可以有效濾除硬件電路中孤立的脈沖噪聲,S-G濾波對氣體傳感器響應(yīng)值的上下波動(dòng)具有較好的平滑效果。
中位值濾波是將某一點(diǎn)的真實(shí)值用該點(diǎn)鄰域窗口內(nèi)所有點(diǎn)的中值代替,這種方法既能解決偶然因素引起的波動(dòng)現(xiàn)象,也能使曲線更加平滑,如公式(1)所示:
y(i)=Median{x(i-N),…,x(i),…,x(i+N)}
(1)
式中:x(i)表示傳感器第i個(gè)采樣數(shù)值,即為位于窗口中心的傳感器響應(yīng)值,y(i)是更新后的窗口中心值,N為正整數(shù),L=2N+1。
S-G濾波是一種在時(shí)域內(nèi)基于局域多項(xiàng)式最小二乘法擬合方法,具體方法如下:
首先建立一個(gè)寬度為n=2m+1的濾波窗口,m為窗口半徑,取為51,設(shè)各個(gè)測量點(diǎn)為x=(-m,-m+1,…,m),采用k-1次多項(xiàng)式對窗口內(nèi)的數(shù)據(jù)點(diǎn)進(jìn)行擬合,為保證每個(gè)參數(shù)有解,取k y=a0+a1x+a2x2+…+ak-1xk-1 (2) 式中:將這n個(gè)測量點(diǎn)帶入方程,然后用最小二乘法將系數(shù)ai擬合出來,最后將中間點(diǎn)x0代入原多項(xiàng)式中,得到對應(yīng)的y0,用該值作為最佳擬合值代替原來對應(yīng)的值。 本文采用的數(shù)據(jù)預(yù)處理方法是上述中位值濾波和S-G濾波的疊加,即先進(jìn)行L=51的中位值濾波,然后再進(jìn)行滑動(dòng)窗口為51,多項(xiàng)式階數(shù)為3的S-G濾波。圖3給出了傳感器CCS801的一條原始響應(yīng)曲線,使用上述兩種濾波方法后的響應(yīng)曲線如圖4所示。由圖4可知,濾波后傳感器響應(yīng)曲線更平滑,可以較好地去除傳感器響應(yīng)中存在的噪聲。 圖3 CCS801傳感器響應(yīng)曲線Fig.3 Response curve of CCS801 sensor 圖4 濾波后的CCS801傳感器響應(yīng)曲線Fig.4 Response curve of CCS801 sensor after filtering 1.2.2 特征提取 依據(jù)手持式電子鼻的采樣方式和數(shù)據(jù)曲線的形狀特點(diǎn),最終選取了5個(gè)特征參數(shù)如下:一階微分最大值Maxder、一階微分最小值Minder、二階微分最大值Maxsder、一階微分最大值處對應(yīng)的響應(yīng)值Re、響應(yīng)相對差值Rr,提取特征的公式如下: (3) (4) (5) Re=Maxder×dt (6) Rr=max(St)-St0 (7) 式中:St為傳感器輸出電壓信號對應(yīng)的數(shù)字量,St0為響應(yīng)起始點(diǎn)對應(yīng)的傳感器輸出電壓信號所對應(yīng)的數(shù)字量。 1.2.3 特征降維和分類方法 經(jīng)過特征提取后,傳感器響應(yīng)數(shù)據(jù)仍為高維陣列矩陣,特征之間存在一定的冗余信息。為了消除這些冗余信息的影響,需要進(jìn)一步降維才可用于分類器。本文分別使用PCA、KPCA和KECA 3種方法進(jìn)行降維,并對其進(jìn)行了對比,選出最佳的降維方法。分類算法選擇了3種比較常用的模式識別算法來分別進(jìn)行分類識別,分別是SVM、KNN和BP-ANN。 本文選取了6種不同類型的白酒,其具體信息見表2。采樣時(shí),室內(nèi)溫度28 ℃,相對濕度30%。實(shí)驗(yàn)采用的采樣參數(shù)設(shè)置如下[25]:采樣頻率為400 Hz;采樣時(shí)間40 s,其中吸氣時(shí)間為1 s,吸氣等待時(shí)間為3 s,呼氣時(shí)間為35 s,呼氣等待時(shí)間為1 s;氣室清洗時(shí)間為30 s,然后再針對采集到的數(shù)據(jù)進(jìn)行上述所提到的預(yù)處理以及特征提取。 表2 實(shí)驗(yàn)白酒樣本信息Table 2 Information of Chinese liquors used in the experiment 本文分別采用PCA,KPCA,KECA 3種方法對提取出的特征進(jìn)行降維,對降維后的數(shù)據(jù)分別取前2個(gè)主成分繪圖以探究其降維后對于分類的效果,如圖5所示,其中橫縱坐標(biāo)分別是第一主成分和第二主成分,括號中的值為其貢獻(xiàn)值。從前2個(gè)主成分的貢獻(xiàn)值可以看出,KECA和KPCA的前2個(gè)主成分元的累積貢獻(xiàn)率分別達(dá)到了98.21%和96.03%,而PCA前2個(gè)主成分元的貢獻(xiàn)率為69.98%,可以看出KECA和KPCA兩種降維方法對于數(shù)據(jù)的主要信息的提取程度要比PCA要強(qiáng),并且KECA效果最好。從主成分分析圖中可以看出,3種降維方法的分類效果類似,都有2到3種樣本的分類效果較好,其他種類的樣本則存在一定程度的混亂,體現(xiàn)在圖中即為不同類型的點(diǎn)相互混雜。所以還需要進(jìn)一步分析,才能確定針對白酒的最優(yōu)降維方法。 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和類內(nèi)離散度Sw,其中Sb表示不同類別樣本之間的分離程度,Sw代表同一類別樣本的分離程度,其定義如公式(8)、(9)所示: (8) (9) 式中:c為樣本類別數(shù),ni是第i類樣本的樣本數(shù),mi是第i類樣本的均值,m是所有樣本的均值,xij是第i類的第j個(gè)樣本。 從類內(nèi)離散度和類間離散度的計(jì)算過程來看,其中必要的步驟之一就是求得樣本之間的歐氏距離,而歐式距離存在取值范圍大的特征的影響會(huì)高于取值范圍小的特征的問題,所以在計(jì)算類內(nèi)離散度和類間離散度之前首先需要進(jìn)行歸一化以解決上述問題,歸一化的定義如公式(10): (10) 式中:ai代表第i個(gè)特征中的一個(gè)特征值,max(ai)、min(ai)分別代表所有樣本的第i個(gè)特征中的最大值和最小值。 從分類角度來看,類間離散度應(yīng)該越大越好,而類內(nèi)離散度應(yīng)該越小越好,這樣有利于后續(xù)的分類。針對不同降維方法的類間離散度、類內(nèi)離散度以及二者比值如表3所示,KECA降維方法的比值明顯大于其他兩種降維方法。綜上,使用KECA進(jìn)行降維有利于后續(xù)的分類識別,所以在后續(xù)分類識別算法中將采用KECA來進(jìn)行降維。為了盡可能保證信息的完全,通過主元成分累計(jì)貢獻(xiàn)率達(dá)到99.8%來確定最終降維后的維數(shù),最終確定的KECA降維后的維數(shù)為10維。 表3 三種降維方法對應(yīng)的類間離散度和類內(nèi)離散度Table 3 Inter-class dispersion and intra-class dispersion corresponding to three dimension reduction methods 基于仿生氣室的白酒樣本共有426個(gè),隨機(jī)取其中的50個(gè)作為測試樣本,其余作為訓(xùn)練樣本進(jìn)行分類識別。進(jìn)行多次訓(xùn)練集和測試集的選取和訓(xùn)練,以保證結(jié)果的客觀性。 將仿生氣室下的手持式電子鼻采樣數(shù)據(jù)作為分類樣本,采用KECA進(jìn)行降維,6類白酒樣本共有396個(gè),其中每類白酒有52~90個(gè)樣本,取出總數(shù)的10%作為訓(xùn)練樣本,并且保證訓(xùn)練樣本中包含所有類別白酒,經(jīng)過多次隨機(jī)挑選訓(xùn)練樣本后取分類正確率的平均值以分析分類效果,3種分類方法的識別結(jié)果如表4所示。 表4 三種分類算法的正確率Table 4 Accuracies of three classification algorithms 由表4可知,經(jīng)過KECA降維后,BP-ANN對白酒的識別正確率最高(99.10%),其次是KNN和SVM。但是從運(yùn)行時(shí)間來講,在相同訓(xùn)練、測試樣本數(shù)量以及迭代次數(shù)(即重新選擇訓(xùn)練集和樣本集)的情況下,SVM的分類識別時(shí)間為2.99 s,KNN的分類識別時(shí)間為1.10 s,而BP-ANN神經(jīng)網(wǎng)絡(luò)需要的時(shí)間為85.18 s。從手持式電子鼻對對白酒識別的在線和快速方面考慮,綜合識別正確率和運(yùn)行時(shí)間,建議選擇KNN作為分類算法。 通過對6種白酒的采樣、數(shù)據(jù)預(yù)處理、特征提取、降維和分類處理等操作,驗(yàn)證了本文自主研發(fā)的手持式電子鼻系統(tǒng)可用于白酒的在線檢測與識別;分析比較了PCA、KPCA和KECA三種方法對氣體傳感器信號特征的降維效果,基于前2個(gè)主成分貢獻(xiàn)值以及類間離散度和類內(nèi)離散度比值,發(fā)現(xiàn)KECA效果更好;綜合比較了SVM、KNN和BP-ANN三種分類算法的識別率和運(yùn)行時(shí)間,3種方法識別率均可達(dá)到94%以上,但KNN的識別時(shí)間最短。2 結(jié)果與分析
2.1 實(shí)驗(yàn)材料以及采樣過程
2.2 三種降維方法對比
2.3 三種分類算法對比
3 結(jié)論