馬東旭,駱德漢,徐勛庭,馮 揚,鐘平忠,方 樺
(1.廣東工業大學 信息工程學院,廣東 廣州 510006;2.廣東瑞德智能科技股份有限公司,廣東 佛山 528000)
近些年我國各行各業的高速發展不僅帶動了我國經濟,同時也帶來了一系列環境污染問題,由環境污染導致的疾病越來越多,其中室內空氣污染問題尤為顯著。室內空氣污染的主要污染源為醛類、苯類以及TVOC。室內空氣甲醛超標輕則引起頭痛、頭暈等癥狀,重則導致白血病;苯類物質來源于油漆、涂料、地毯等,過量吸入會使人出現頭暈、胸悶、甚至嘔吐等癥狀。TVOC是總揮發性有機物,具有刺激性以及毒性[1]。室內環境大部分由天然材料或人工合成材料搭建而成,據統計,現代社會中每個人每天有70%以上的時間處于室內環境[2]。空氣凈化器是用于去除空氣中的顆粒物、氣態污染物、微生物等一種或多種污染物或具備類似功能的一種電器[3]。大多數空氣凈化器是根據檢測到某一類氣體的氣體濃度,即根據某一類傳感器的響應大小來控制空氣凈化器的運行功率。
本文基于仿生嗅覺提出一種新的方法,可選擇合適的數個傳感器組成傳感器陣列置于空氣凈化器進氣口處,通過模式識別的方法對氣味進行分類與鑒別。本研究通過傳感器陣列將氣味信號轉化為電信號,形成“氣味指紋信息”,使用MySQL建立氣味指紋信息數據庫,將得到的氣味指紋存儲在數據庫中,再通過MATLAB軟件建立BP神經網絡,使用數據庫中的數據對網絡進行訓練。最后,將測試樣本輸入到訓練好的網絡中,進而得到識別結果。本實驗意在尋找一種能夠使空氣凈化器在吸收凈化空氣的同時,還能準確地識別出氣味源,即分辨出氣味種類的方法。
人工神經網絡是通過模擬生物的運轉過程,將其轉換成數學模型而得來的。誤差回傳神經網絡(Back-Propagation Neural Network)又被稱為BP神經網絡。BP神經網絡具有信號前向傳遞、誤差反向傳播的特點,可以存儲與學習輸入輸出的映射關系,進而根據輸入來獲得輸出。因此,在識別與分類方面,BP神經網絡得到廣泛的應用。其網絡模型一般是由3層或3層以上網絡組成的多層網絡,其中包括輸入層、隱含層與輸出層[4-10]。圖1為三層BP神經網絡結構。

圖1 三層BP神經網絡結構

之所以引入激活函數,是因為存在著許多的數據集是屬于線性不可分的,激活函數可以理解為是輸入到輸出的映射。
圖2為單個神經元結構,x1,x2,…,xn為該神經元的輸入,w1,w2,…,wn為每個輸入對應的權值,b為該神經元的閾值。該神經元輸出為:
y=f(g(x))
(1)
其中,
g(x)=WTX+bi
(2)
W為權值wn的矩陣[w1,w2,…,wi]T,X為輸入xn的矩陣[x1,x2,…,xi]T,i≤n,b為規格相同的矩陣[b1,b2,…,bi]T,f(x)為該神經元的激活函數。

圖2 單個神經元結構
主成分分析方法(Principal Component Analysis, PCA)是一種線性降維算法,將n維特征映射到k維空間上(k PCA主要用來求解特征值以及特征向量。保留最大的k個特征值以及其相對應的特征向量,以此構成一組新的基,將原特征投影到新的基上,從而得到降維后的新特征[11-12]。 本研究根據常見的室內環境污染氣味選用了香煙、香水、榴蓮、油漆作為氣味源進行實驗。香煙作為常見的煙草制品,其中毒性最大的當屬香煙中包含的煙堿,也稱作尼古丁;香水是植物性香料、動物性香料以及合成香料相配合溶于酒精后再加必要的保留劑、色素和水等配制而成的;油漆中含有大量的甲苯、二甲苯等苯系物,且油漆是室內比較常見的物質,適合用來做氣味源;榴蓮散發出的氣味中包含了多種硫化物,氣味十分特別,具有一股“臭味”。 根據氣味源的種類,本實驗選用了四個傳感器組成了傳感器陣列,型號分別為ES1-CO-100、ES4-AG1-200、TGS2600和TGS2603。這四個傳感器所組成的傳感器陣列,能夠對選定的四類氣味源做出不同的響應。 傳統的氣味采集識別方法是將某一氣味源放入密閉容器中靜置一定時間后,通過電子鼻等其他類似的儀器對氣體進行采集,采集后獲取穩態時的數據作為樣本[13-14]。但這種方法并不適用于產品應用中。 本研究中,為了讓實驗結果更貼近于實際情況,采樣時,將傳感器陣列安置于空氣凈化器進氣口處,將待采樣氣味源放置于進氣口不遠處進行氣味采樣。 四類氣味源分別采集40個樣本,即四類氣味源共采集160個氣味樣本。每次采集15 s,采樣周期為0.5 s,每個樣本包含了4個傳感器的30個時間點的響應數據,即30×4個響應值作為一個樣本。不同樣本的采集過程都是處于相同條件下,即常溫以及室內條件下獲取的。 本實驗構建了一個三層BP神經網絡來解決氣味識別問題,即單隱含層網絡。對樣本進行特征提取,計算15 s內每個傳感器的響應值的均值、方差以及中位數,通過PCA進行降維后作為輸入,輸入層節點數與降維后維數相同。因為需要識別的氣味種類共四種,因此,輸出層的節點數為4。根據隱含層節點數公式: (3) 其中,h代表隱含層節點數,m代表輸入層節點數,n代表輸出層節點數,而a是一個調節數,取值范圍為1~10。考慮到本研究中樣本數量有限,因此h取為10,即隱含層節點數為10。將網絡中所有的w與b都設置為1,此外,為每一類氣體打上相應的標簽,香煙、香水、榴蓮、油漆分別用[0,0,0,1]、[0,0,1,0]、[0,1,0,0]、[1,0,0,0]作為標簽。由于本實驗所需要的輸出非0即1,并且考慮到識別效果,將隱含層激活函數設置為‘purelin’,輸出層激活函數設置為‘logsig’,輸出層節點輸出值大于等于0.5則判斷等于1,小于0.5則判斷等于0。若輸出是[0,0,0,1]、[0,0,1,0]、[0,1,0,0]、[1,0,0,0]以外的情況,則判定為無法識別或識別錯誤。 本研究主要分為兩個過程,分別是訓練過程以及測試過程,分類模型如圖3所示。 圖3 本研究分類模型圖 訓練過程如下: (1)數據預處理:輸入訓練樣本集后,對訓練樣本集進行歸一化處理。 (2)特征提取:將預處理過后的樣本進行PCA降維處理,保留轉換矩陣V和累積貢獻率達到99%的k維數據。 (3)訓練網絡:將降維后的k維數據輸入構建好的網絡模型進行訓練,并保存訓練后的網絡模型。 測試過程如下: (1)數據預處理:輸入校驗樣本集后,對校驗樣本集進行歸一化處理。 (2)特征提取:通過訓練過程保留下來的轉換矩陣V,對校驗樣本進行降維,保留k維數據作為輸入。 (3)識別分類:將降維后的k維校驗樣本輸入訓練好的網絡中,得出分類結果。 圖4為四類氣味源某一隨機樣本的傳感器陣列響應。通過觀察這些原始數據可知,四類氣味傳感器陣列給出了不同的響應。可以發現,TGS2600和TGS2603對四類氣味的響應最為敏感,而ES1-CO-100、ES4-AG1-200對四類氣味雖然都有不同的響應,但響應相較于另外兩個傳感器而言小得多。香水、榴蓮和噴漆的響應曲線雖然類似,但響應值大小上有一定區別。圖5為預處理之后提取的樣本特征,其中橫坐標1~4代表樣本中四個傳感器響應的均值,5~8為方差,9~12為中位數。就這四個樣本而言,它們的特征存在著較大的區別。 圖4 傳感器陣列響應 將四類氣味樣本均分成4個不相交的樣本集A、B、C、D,每個樣本集由10個香煙數據樣本、10個香水數據樣本、10個榴蓮數據樣本以及10個油漆數據樣本組成。A、B、C、D四個樣本集輪流作為校驗集,沒有作為校驗集的三個樣本集作為訓練集對網絡進行訓練。表1為不同訓練集情況下,使用PCA進行特征提取,并且主成分按貢獻率降序排列后,不同主成分的特征值、貢獻率以及累積貢獻率。 圖5 傳感器響應特征 訓練集主成分1234…12ABC特征值4.933 11.912 60.718 50.139 500.000 0貢獻率/%63.4024.599.231.790.00 累積貢獻率/%63.4087.9897.2199.00100.00ABD特征值4.961 01.728 40.671 40.224 00.000 0貢獻率/%64.8222.588.772.930.00 累積貢獻率/%64.8287.4096.1799.10100.00ACD特征值4.681 31.631 50.602 20.211 90.000 0貢獻率/%65.1622.718.382.950.00 累積貢獻率/%65.1687.8796.2599.74100.00BCD特征值4.538 81.130 80.484 80.161 20.000 0貢獻率/%71.5917.847.652.540.00 累積貢獻率/%71.5989.4297.0799.61100.00 觀察表1可知,四種不同訓練集情況下,前兩個主成分和前四個主成分的累積貢獻率分別達到了88%左右和99%以上。可見降維后前四維保留了原數據的大量信息,所以四種情況下PCA降維后保留的維數k都等于4,即神經網絡的輸入層節點數都為4,圖6為MATLAB構建的網絡結構。 圖6 MATLAB構建的網絡結構 記錄不同訓練集情況下對四種氣味的識別率,并計算出四種情況下四類氣味的平均識別率,將其視為最終識別率,如表2所示。 表2 交叉驗證法下不同氣味的識別率與識別率均值 根據K折交叉驗證法的結果可見,總體上對于四類氣味的識別效果還算良好。其中,香煙的識別率均值最低,當A、B、C作為訓練集時,對于D校驗集的識別率只有40%,但當A、B、C作為校驗集時,識別結果能夠達到100%。將神經網絡的參數進行多番修改后,針對D作為校驗集的情況,得到的識別結果最高也僅達到40%。因此推斷D類樣本集中香煙的數據樣本在采樣時可能存在某些操作不當的問題或者是該樣本集采樣時外部環境有較大變化,導致識別效果不佳。對于香水、榴蓮和噴漆而言,不同校驗集的情況下識別率都達到了90%以上,在對油漆的識別中,僅在A作為校驗集的情況下,識別率相對較差,但仍處于正常范圍內。 本文基于仿生嗅覺提出一種應用于空氣凈化器的氣味識別方法。實驗中,為了讓實驗情況更接近于實際情況,通過將傳感器模塊安裝于空氣凈化器進氣口處來獲取氣味數據,通過PCA和BP神經網絡相結合,進行分類識別。實驗結果證明了這種方法的可行性。2 實驗準備
2.1 氣味源與傳感器選擇
2.2 采樣方式
2.3 BP神經網絡的構建
3 實驗驗證
3.1 實驗步驟

3.2 傳感器陣列響應數據

3.3 實驗結果與分析討論




4 結束語