閆 錚,井 濤,孟慶浩*
(1.天津大學機器人與自主系統研究所,天津 300072;2.天津市過程檢測與控制重點實驗室,天津 300072;3.天津大學電氣自動化與信息工程學院,天津 300072)
氣味源距離估計(Odor Source Proximity Estimation,OSPE)是指利用氣體傳感器的響應數據估計氣味釋放源到當前測量位置的距離。 快速、準確地估計氣味源距離在氣體泄漏源定位任務中具有重要意義。 近年來興起的機器人主動嗅覺研究[1]使用移動機器人搭載氣體傳感器執行氣味源定位(Odor Source Localization,OSL)任務;利用氣體傳感器信號實時估計機器人與氣味源間的距離,同樣有助于提高主動嗅覺的執行效率。
用于氣體檢測的傳感器類型多種多樣,其中金屬氧化物半導體(Metal Oxide Semiconductor,MOS)傳感器具有成本低、敏感度高且易于集成的優點,是最常用于OSL 任務的氣體傳感器。 MOS 傳感器通過吸附被測氣體改變電導率從而實現對氣體濃度的檢測,因此只能獲取傳感器所在位置較小范圍內的氣體濃度,且具有較長的恢復時間[2],因此一些學者[3-10]對MOS 傳感器的響應特性進行分析,綜合利用MOS 傳感器信號的靜態/動態特征、時域/頻域特征以獲得實時性更高的信號處理方法,同時從中提取更豐富的信息。
基于MOS 傳感器估計氣味源距離的關鍵問題是選擇合適的OSPE 指標,簡稱距離指標(Distance Indicator,DI)。 最直觀的DI 是氣味濃度:在擴散主控或者平流主控環境中,氣味濃度隨著氣味源距離的增加而減小,這種濃度分布特點可用高斯擴散模型描述[3]。 而在湍流環境中,氣味瞬時濃度分布波動強烈,明顯偏離高斯分布。 為了從具有波動性、間歇性特點的信號中提取距離相關信息,研究者通常采用時間平均法,提取一段時間內信號的時均特征,以獲得更穩定的DI(即時均DI)。 Ferri 等[4]通過實驗證明,相對于平均濃度,MOS 傳感器的響應幅值具有更穩定的距離估計效果。 Lilienthal 等[5]通過實驗對比了MOS 傳感器響應平均值、方差以及歸一化標準差三種DI,結果表明歸一化標準差用于OSPE 的精度最高。 上述時均DI 都需要對較長時間的傳感器響應進行統計分析,影響了距離估計的實時性,且上述特征較為簡單,OSPE 精度有限。
從頻域角度看,氣味煙羽信號是寬頻帶的隨機信號,功率譜密度高達幾十kHz[6]。 生物領域相關研究表明,昆蟲等生物可以從復雜的氣味煙羽信號中提取瞬時特征用于氣味導航,以完成搜索食物或尋找配偶等活動[7]。 為獲得更準確的DI,學者們開展了一系列提取MOS 傳感器信號瞬時特征的研究,其中較典型的是Schmuker 等[8]通過級聯濾波方法增強信號中被緩慢衰減掩蓋的快速響應,即“Bout”特征,并證明Bout 個數是一種較準確的DI,即在1.45 m 范圍內,該算法的平均距離估計誤差為0.18 m(相對誤差12.4%)。 Burgués 等[9]在Bout 特征的基礎上進行改進,使用具有線性相位和有限脈沖響應的低通微分濾波器,將平均估計誤差降低到0.08 m(相對誤差5.5%)。 并將該算法用于無人機OSL 和氣味建圖研究中[10],通過實驗驗證了基于Bout 特征數構建的氣味分布圖可以更加準確地描述氣味濃度分布。
盡管傳統方法已有可觀成就,但設計人工特征較復雜,涉及到較多需手動調整的超參數,且一般需要持續時間較長的響應信號,影響距離估計的實時性。
MOS 傳感器信號是一種典型的時間序列。 隨著深度學習研究的發展,基于循環神經網絡的方法在時間序列處理上取得了較好效果[11]。 相比于人工特征設計方法,深度學習方法從數據出發自動學習特征,避免了對手動參數設置的依賴,有望實現更復雜的特征表達。 長短時記憶(Long Short-Term Memory,LSTM)網絡作為一種典型的循環神經網絡[12],其性能在多個時間序列處理相關領域得到了驗證[13]。
本文將LSTM 網絡引入OSPE 研究中,借助LSTM 網絡對長序列特征的學習能力,對MOS 傳感器信號進行處理,實現氣味源距離的端到端估計。
深度學習研究一般需要大量數據訓練網絡以避免過擬合問題。 真實環境的氣味擴散實驗受限于復現困難、條件不可控等問題,難以大量開展重復性研究;基于計算機仿真技術實現的氣味擴散仿真平臺可以提供可重復的虛擬氣味擴散環境,利用氣味擴散仿真平臺進行算法驗證,已成為OSL 等研究的重要方法[14]。 本文選取廣泛應用的氣味擴散仿真平臺GADEN[15]生成氣味擴散仿真數據,對其進行LSTM 網絡訓練和驗證。 由于環境條件(環境風場、氣味源釋放速率等)對氣味擴散分布影響較大,為了驗證模型在未知環境條件下的適應能力,本文基于不同環境條件生成仿真數據,測試網絡在未知環境條件下的距離估計性能,稱之為OSPE 的“環境條件泛化測試”。
本文主要貢獻包括:①首次將LSTM 網絡引入OSPE 研究中,利用網絡自動學習DI,避免了傳統估計方法對人為參數設置的依賴。 ②構建了OSPE 仿真數據集用于網絡訓練和參數調優。 ③通過實驗對不同LSTM 網絡超參數對距離估計準確性的影響進行了分析,得到了最優網絡設計。 ④提出距離估計泛化測試,驗證了網絡對未知環境條件的泛化適應能力。
氣味擴散仿真為主動嗅覺研究提供了可重復的虛擬氣味分布條件,已成為初期算法設計與驗證的關鍵環節。 本文使用GADEN[15]仿真平臺生成OSPE 數據集,模擬50 種環境條件(不同的氣味源釋放速率、氣味源位置和環境風速)下的氣味擴散分布,同時在仿真中設置了多個MOS 傳感器用于氣味濃度采樣,得到了相應的氣味濃度采樣序列。
GADEN 仿真平臺基于機器人操作系統(Robot Operation System,ROS)開發,通過計算流體動力學(Computational Fluid Dynamics,CFD)軟件獲得環境風場數據,基于煙絲擴散模型[16]實現對氣味擴散過程的仿真,從而獲得氣味濃度空間分布。 GADEN 根據常用MOS 傳感器產品的響應特性曲線,內置了多種MOS 傳感器仿真模型,本文選取TGS2620[17](Figaro公司產品)作為氣體濃度采集傳感器。
構建了如圖1 所示的室內仿真環境,環境的長、寬、高尺寸為10.4 m×6.4 m×3 m,房間設有1 個氣流入口和1 個氣流出口,出口設為自然壓力出口。

圖1 室內仿真模擬環境(平面圖)
入口處風向如圖1 中矢量箭頭所示,通過控制入口風速獲得不同的環境風場。 氣味源設置在空間中線(Y=300 cm,Z=150 cm)不同位置處,釋放氣味分子一段時間后環境內氣味分布趨近穩定狀態,如圖2 所示。

圖2 氣味擴散示意圖(平面圖)
本文在50 種不同的環境條件下進行氣味擴散仿真,即5 種不同風速、2 種不同氣味源位置和5 種不同氣味源釋放速率,在共5×2×5=50 種組合下采集了氣味擴散仿真數據。 各環境條件的取值如表1 所示。

表1 仿真環境條件
表1 中給出的氣味源位置表示氣味源的X 軸坐標,入口風速表示入口處的風速大小,其方向與X軸平行,氣味源釋放速率表示氣味源每秒釋放的氣味分子數,即氣味源濃度;本文設置的環境條件組合涵蓋了常見的室內氣味擴散環境條件。 針對50 種仿真環境條件組合,每種組合仿真兩輪,共得到100組仿真數據。
如圖1 所示,仿真氣味源設置在空間中線上靠近房間入口處,104 個MOS 傳感器(TGS2620,傳感器ID=0 ~103,圖1 中只標記出了10 個傳感器)單排均勻部署在空間中線上(傳感器間隔10 cm,即ID=i的傳感器的X軸坐標為10×icm)進行密集的氣味濃度采集。 仿真過程中采集各MOS 傳感器所在位置的傳感器響應和氣味濃度真值(即單位空間內氣味分子數,此真值由仿真平臺給出)。 每次仿真獲得的數據維度為(Ns×Nt),Ns表示傳感器個數(Ns=104),Nt表示采樣次數。 每次仿真從所有傳感器建立穩定響應(稱為有效起始時間)起采樣1 000 s,采樣頻率為10 Hz,即每0.1 s 對傳感器信號進行一次采樣,即每輪仿真獲得的數據集尺寸為104×10 000。
1.3.1 有效起始時間
氣味分子從氣味源擴散到下風向處的傳感器并建立穩定響應需要一定時間。 本文在仿真中設置一個有效起始時間,即距離氣味源最遠的傳感器建立穩定響應所需的時間,有效起始時間后,才開始記錄各傳感器的響應數據。 本文分析了最小風速條件(1 m/s)和最小氣味源釋放速率(30 s-1)下,距氣味源最遠的MOS 傳感器位置的濃度真值變化曲線和傳感器響應曲線,據此選取有效起始時間為20 s,即仿真中氣味源釋放20 s 后再開始采集傳感器的響應數據。
1.3.2 數據歸一化
本文選取的TGS2620 氣體傳感器響應輸出量程為[0,65 535],仿真環境中由16 位AD 轉換器采集傳感器響應信號,65 535(即216-1)對應無氣味響應狀態,取值范圍較大且分布不均勻,直接使用原始響應采樣值進行訓練不利于模型收斂。 因此本文采用式(1)所示的方法對數據進行歸一化處理。

式中:~R表示歸一化后的響應值,R表示傳感器原始輸出響應。 傳感器響應歸一化有助于加快模型訓練的收斂速度和穩定性。
1.3.3 訓練與測試數據集生成
一輪仿真得到的數據集記錄了氣味源下風向間隔為0.1 m 的密集傳感器陣列的響應數據。 實際應用中難以如此密集地部署傳感器;直接使用1 000 s的序列作為模型輸入數據會影響應用的實時性。 因此,本文在原始仿真數據的基礎上進行時間截取和空間采樣(即時間和空間上的降采樣),以獲得更符合實際應用場景的樣本進行模型訓練。
對于某一傳感器的歸一化響應序列(1 ×10 000),利用滑動窗口截取不同長度的序列片段,得到時間截取后的樣本(樣本長度等于滑動窗口長度)。 以較大傳感器間隔(間隔為0.9 cm,共選取10個傳感器,)從陣列中均勻選取若干傳感器(即空間采樣),得到用于模型訓練的數據集。
記滑動窗口的滑動步長為S(兩次截取數據時滑動窗口的移動距離),滑動窗口長度為L,降采樣后數據集樣本數為100×10×{[(10 000-L)/S]+1},其中100 為仿真次數,每個樣本響應序列尺寸為1×L。
圖3 為本節數據集中不同環境條件組合對應的樣本數分布,不同環境條件組合的樣本數分布是相對均勻的。 其中訓練集和驗證集樣本數比例為4 ∶1。

圖3 各環境條件組合的樣本數量分布
最早用于OSPE 的指標以傳感器響應序列的統計特征為基礎。 Lilienthal 等[5]提出并分析了三種常用的DI 用于源距離估計的性能。 本文基于生成的OSPE 數據集對比了上述三種DI 的準確性,在訓練集上對三種DI 與氣味源距離的關系進行最小二乘擬合(擬合目標為多項式函數,自變量為DI,因變量為氣味源距離),基于驗證集對擬合函數進行精度驗證。
序列響應平均值計算公式如下:

相應的平均化標準差計算公式如下:

式(2)、(3)、(4)中di表示第i個氣源距離標簽的某一序列,S(di)表示該序列數值個數,μ(k)表示該序列中第k個數值。 按公式即可求出第i個氣源距離標簽下所有序列的DI用于最小二乘擬合。 擬合多項式在驗證集上測試平均誤差的計算公式如下:

式中:Nv表示驗證集序列總數,ln表示驗證集中第n個序列的距離標簽,Fq表示距離指標q的擬合多項式,qn表示驗證集中第n個序列的DI。
基于統計特征的DI 在驗證集上的平均估計誤差如表2 所示,其中平均值的距離估計效果相對較好,但是三種DI 在10m 范圍內的相對估計誤差都在20%以上,精度較低,難以用于實際的OSPE應用。

表2 基于統計特征的DI 驗證集平均誤差
基于統計特征的DI 計算方法簡單,但距離估計精度較低。 文獻[8]提出了“Bout”特征,通過設計級聯濾波器,提取濾波信號中連續上升的部分作為Bout 特征;通過擬合氣味源距離和Bout 特征的關系(線性函數),獲得了較好的估計效果(文獻[8]給出的相對估計誤差為12.4%,文獻[9]改進的Bout 特征相對估計誤差為5.5%)。 但人工特征涉及較多需要手動調整的參數,參數取值對估計精度影響較大,且難以考慮不同環境條件對模型參數的影響。
隨著深度學習方法的發展與成熟,以循環神經網絡為代表的深度網絡模型在語音識別[18]、語言建模[19]和翻譯[20]等時間序列處理領域中獲得了比傳統人工特征方法更好的效果。 針對現有基于人工特征進行OSPE 方法存在的問題,本文將深度網絡模型引入OSPE 應用中,基于LSTM 網絡構建距離估計模型,在大量仿真數據上進行模型訓練與驗證,并分析網絡超參數對距離估計效果的影響。 為驗證模型在未知環境條件下的距離估計效果,本文還進行了OSPE 泛化測試,通過在未知環境條件(訓練時未出現過的環境條件)數據集上進行距離估計測試,驗證模型的泛化能力。
LSTM 網絡針對循環神經網絡(Recurrent Neural Network,RNN)處理長時間序列能力不足的問題,通過設計信息選擇性通過的門結構,實現對長依賴關系的學習[21]。 本文利用LSTM 網絡進行MOS 傳感器響應序列處理。
3.1.1 LSTM 層結構
LSTM 層結構如圖4 所示。 LSTM 層包括1 個LSTM 單元,遞歸地處理前一層輸出的序列數據。x代表輸入信息,隱藏狀態h和記憶狀態C分別代表隱藏信息和記憶信息。

圖4 LSTM 層結構
3.1.2 網絡結構
LSTM 單元輸入數據維度為(B,I,L),其中B代表批尺寸(Batch size,指一次訓練時并行計算的樣本數),I表示特征維度(本文特征維度固定為1),L表示時間序列長度;單元輸出數據維度為(B,H),H表示隱藏狀態h的維度。 本文選取LSTM 網絡層數為W,最后一層最后一個隱藏狀態作為整個LSTM結構的輸出單元,輸出單元接全連接網絡(輸入維度為H,輸出維度為1),得到最終的距離估計值,網絡結構如圖5 所示。

圖5 LSTM 網絡結構
3.2.1 網絡訓練與驗證過程
分別利用PyTorch 和Paddle 實現網絡構建,基于NVIDIA V100 顯卡進行網絡訓練與測試。 實驗采用1.2 節生成的仿真數據集進行網絡訓練和驗證。 基于3.1.2 中的網絡結構,以均方誤差(meansquare error,MSE)作為損失函數,采用Adam 優化器進行網絡優化。 為加快訓練收斂速度,在訓練過程中設置動態學習率,若連續10 個迭代周期內,模型在驗證集上的距離估計精度提升小于0.01 m 時,則降低學習率(乘以0.5)繼續訓練;調整兩次學習率后性能仍不提升時,結束模型訓練并保存最優模型參數,訓練周期設置為200。(20%)有顯著降低。

圖6 最優模型性能曲線
3.2.2 超參數影響分析
LSTM 網絡涉及的超參數包括LSTM 單元隱藏狀態維度、LSTM 層數,以及輸入步長。 上述三個超參數可能對模型性能有較明顯影響,本文通過控制變量法分析不同參數對模型精度的影響。
①輸入步長
分別選定如圖7 中所示的8 種輸入步長(采樣數據長度50~2 500,對應采樣時間5 s~250 s)進行驗證,設置LSTM 單元隱藏狀態維度為64、LSTM 層數為2,驗證集距離估計誤差曲線如圖7 所示。

圖7 不同輸入步長與驗證集估計誤差關系
由圖7 可知,當輸入步長小于1 200 時,輸入步長變化顯著地影響模型精度,輸入步長越大,有效的輸入信息量越多,估計誤差越小;當輸入步長大于1 200 后,輸入信息變得復雜和冗余,故該參數增加對模型精度幾乎無提升。 充分考慮模型復雜度和精度的平衡,本文最終選定輸入步長為1 200。
②LSTM 層數對模型性能的影響
增加LSTM 層數可以提高網絡的特征表達能力,但會增加模型的復雜度和計算開銷。 本文在驗證集上對1 ~4 層LSTM 網絡的模型精度進行對比(LSTM 單元隱藏狀態維度為64,輸入步長1 200),驗證集估計誤差曲線如圖8 所示。
由圖8 可知,LSTM 層數設置為4 時,LSTM 網絡復雜度過高,模型收斂速度較慢,開始訓練90 輪后估計誤差才出現明顯下降。 對比其他層數,2 層的模型性能最佳,故本文選取LSTM 層數為2。

圖8 不同LSTM 層數與驗證集估計誤差關系
③LSTM 單元隱藏狀態維度
本文選取如圖9 所示的5 種LSTM 單元隱藏狀態維度(16 ~128)進行對比驗證,設置輸入步長為1 200、LSTM 層數為2,不同隱藏狀態維度對應的模型驗證集估計誤差曲線如圖9 所示。

圖9 不同隱藏狀態維度與驗證集估計誤差關系

圖10 驗證集估計誤差及模型總參數量之間關系
綜上,本文選取LSTM 網絡層數為2,隱藏狀態維度為64,輸入步長為1 200,模型訓練130 輪左右趨于收斂,對應最優估計精度約為0.16 m。 網絡超參數與PyTorch/Paddle 框架中的LSTM 單元參數的對應關系如表3 所示。

表3 網絡參數在PyTorch/Paddle 框架中對應關系
3.3.1 未知環境泛化測試
模型泛化能力指模型處理新數據的能力。 由于環境條件對氣味擴散分布影響較大,本文提出針對未知環境條件的泛化測試,即在基于未知環境條件生成的泛化測試數據集上測試模型的泛化能力。 首先設置與1.2 節仿真數據集生成條件完全不同的環境條件,生成新的仿真數據:設置環境風速為1.8 m/s、2.2 m/s,氣味釋放速率為45、55,氣味源位置為X=0.75 m,基于上述條件的4 種組合生成4 組仿真數據,得到5 760 個泛化測試樣本。 泛化測試集的仿真環境條件對于模型來說均是未知的(與訓練集完全不同的環境條件)。
在泛化測試集上采用本文模型得到的不同氣源距離區間對應的平均估計誤差如圖11 所示。 泛化測試集在各距離區間的樣本數量分布大致均勻,整體平均泛化誤差約為0.25 m,平均相對誤差約為2.5%(10 m 范圍);泛化誤差與距離區間有較強相關性,在距離氣味源較近區域和較遠區域有較高的估計精度,而在中間區域估計精度相對較低,將在后續工作中分析該情況。

圖11 不同氣味源距離區間對應的泛化測試結果
3.3.2 泛化對比分析
為了驗證本文基于LSTM 的OSPE 模型的有效性,將LSTM 距離估計模型與第2 章中基于三個統計DI 的擬合函數進行對比。 在相同訓練集上訓練模型或利用最小二乘法擬合統計指標到氣味源距離的函數關系,分別在驗證集和泛化測試集上測試距離估計精度。
從表4 可知LSTM 距離估計模型的驗證集估計誤差、泛化誤差最小,較另外三種基于統計DI 的方法降低了一個數量級,泛化能力最強。

表4 不同DI 估計誤差對比 單位:m
本文將深度學習方法引入氣味源距離估計的應用中,基于氣味擴散仿真平臺GADEN 生成仿真數據集,提出了一種基于LSTM 的氣味源距離估計模型,在仿真數據集上訓練、驗證模型,得到了較好的距離估計效果。 利用對比實驗分析了LSTM 超參數對模型精度的影響,通過驗證實驗得到最優模型,獲得了1.6%的距離估計相對誤差(10 m 空間內),顯著優于基于統計指標的方法。 同時給出了模型泛化測試方法,通過生成未知環境條件下的仿真數據集對模型的泛化能力進行了驗證。 本文方法利用深度學習網絡特征自學習的特點,克服了傳統方法對氣味擴散模型和人工參數設定的依賴。
本文研究結果驗證了基于深度學習進行氣味源定位的可行性。 不過顯然氣體擴散取決于復雜眾多的環境因素,例如風速、地形結構和氣流障礙物等。為了進一步探討這些因素的影響,首先還需要在更復雜自由的模擬環境中進行測試(比如在空間中添加多個氣流出口或氣流障礙物),進一步完善模型和數據集(如在更多位置采集傳感器響應信號),然后思考將該方法應用于移動機器人或無線傳感器網絡,進一步研究主動嗅覺導航策略。