徐 盈,藍雯飛,田 鵬
(中南民族大學計算機科學學院,武漢 430074)
當前我國現代物流快速發展,高科技含量的信息技術與設備被不斷引入[1],互聯網技術的重點還是針對線上產品和系統研發[2],但配送人員作為物流行業中最基礎且最重要的一環卻被大多數人忽略。針對配送人員在配送過程中的行為活動合理分析可以促進薪酬合理分配,從而提升整個物流環節效率。
隨著基于傳感器設備[3]的人體活動識別的實驗研究越來越多,人體活動識別的應用[4]也越來越廣泛。可穿戴式人體傳感器的可擴展性和可用性,使人體活動識別的數據采集[5]更加有效和可行,也使數據處理更加簡單和可操作。基于視頻記錄形式的人類活動識別[6-8]逐漸被傳感器記錄數據所取代。早期的研究大多基于傳統的機器學習[9-11]方法實現活動分類,機器方法使用手工制作的統計特征來識別基于傳感器數據的活動,這需要領域專家來獲取最相關的手工制作特征集。近年來深度學習技術飛速發展,深度學習模型可以從原始的傳感器數據中自動提取人類活動的抽象特征,有利于準確分類活動,不同的卷積神經網絡(CNN)[12-13]被設計用于活動識別。LSTM(long-short term memory)網絡是循環神經網絡的變體,最早由Hochreiter等[14]在1997 年提出。與傳統算法不同,LSTM能夠捕捉數據在時間維度上的關系,LSTM 及相關算法[15-16]也被應用于人類活動識別中。與活動分類相比,對配送人員的能量消耗進行分類也是一項相對較困難的任務[17-19],因為傳統方法需要昂貴的技術,且用固定的設備測量。這種測量方法在日常生活中并不實用。
為了解決以上問題,本文提出了一種利用可穿戴傳感器數據進行活動類型分類和強度估計的多任務雙向長短時記憶(Bi-LSTM)模型。與多個模型相比,單一模型的主要優點是:可以利用該單一模型同時獲得來自傳感器的同一時間序列數據的活動和強度特征;對于移動和可穿戴平臺,單個模型可以減少任務的執行時間和功耗,以識別活動類型和測量強度。
本實驗的數據集來自順豐快遞公司的運動狀態識別測試數據,共有25 名配送人員參與本實驗。25 名參與者分為五種體型:正常、高、矮、胖和瘦,參與者的情況詳情見表1,活動行為說明見表2。參與者將傳感器戴在手腕上,進行六種不同形式的鍛煉,站、坐、走、跑、上下樓梯,收集參與者在運動過程中的三軸加速度和三軸角速度,信號數據采樣頻率為25 Hz。

表1 數據集參與者的情況

表2 活動行為說明
在現實生活中,人們做日常的活動如走路、跑步時手臂都會自然地揮動。波峰法[20]通過分析橫向加速度傳感器的數值,將數據波動(波峰)作為一次運動,并根據一段時間內的運動次數對運動進行評估。由波峰法[20]可知,傳感器佩戴在手腕上位于身體的水平方向,以加速度傳感器的x值為檢測數據,然后求檢測數據每兩點之間斜率,在波峰的左側,斜率大于0;在波峰的右側,斜率小于0,當斜率從正變為負時,則為一個波峰,并視為一次動作。實驗通過統計前進方向的加速度數據,減少垂直方向的加速度數據的影響。在單位時間內,動作次數越多,則相對應的運動強度等級越高。站立和坐著兩個活動為靜止活動,加速度傳感器的x值不呈規律性的波動,只是有一些噪聲,故視為同一等級,能量消耗等級為一級。
如圖1所示,橫坐標為時間節點,縱坐標為加速度傳感器在水平方向上的數值。在相同的時間(100 個時間節點)內,步行的動作次數最少,故能量消耗等級為二級。其次是跑步,故跑步動作所消耗的能量等級為三級。上、下樓梯的動作次數最多,由于上樓梯和下樓梯一般會一起進行,故也視為同一等級,能量消耗等級為四級,能量消耗分級見表3。

圖1 四種不同運動的水平加速度

表3 能量消耗等級
為同時實現對配送人員的活動識別和能量消耗分級,本文設計了一個基于BiLSTM 深度神經網絡的多任務模型,模型結構如圖2所示,主要由四部分組成。

圖2 多任務模型架構
(1)輸入層:接收三軸加速傳感器和三軸角速度傳感器數據。對數據進行歸一化處理,并將數據處理成包含2 s 非重疊窗口的三維特征向量(時間步長×樣本數量×特征數量)。
(2)共享BiLSTM層:共享BiLSTM層對數據進行一系列的線性或非線性變換,使得模型能夠學習到時間節點前后雙向的特征。這些特征在模型的兩個不同分支之間共享,并以一定的Drop?out率反饋給每個分支,以調節模型學習。
(3)活動分類分支:在圖2 的頂部,通過共享的BiLSTM 層學習到的特征,連接到一個完全連接的輸出層,并使用Softmax 獲得類別概率,輸出配送人員的活動分類結果。
(4)能量分級分支:在圖2 的底部,共享的BiLSTM 層連接到另一個完全連接的層,以一定的Dropout率反饋到下一個輸出層,根據Softmax獲得類別概率,輸出配送人員的能量分級結果。
為了更好地學習到傳感器數據的時序特征,本文模型選擇雙向長短期記憶層(BiLSTM)作為特征提取器,提取配送人員活動過程中的時序特征。
LSTM 內部結構圖如圖3 所示。輸入門、遺忘門和輸出門組成LSTM 網絡,遺忘門、輸入門和輸出門分別決定從細胞中遺忘哪些信息、添加新的信息到細胞中以及最終的輸出。

圖3 LSTM內部結構
在t時刻,神經元各部分運算如下:

在上式中,ht-1為上一時刻隱藏狀態的輸出,xt為當前時刻的輸入,遺忘門、輸入門、候選單元和輸出門的權值向量依次為Wf、Wi、Wg、Wo,遺忘門、輸入門、候選單元和輸出門的偏置項依次分別為bf、bi、bg、bo,⊙為Hadamard 乘積(向量的元素相乘)。
雙向LSTM 的改進在于,當前輸出不僅與之前的信息有關,還與后續信息有關。雙向長短時記憶網絡(BiLSTM)是LSTM 網絡的改進,它由一個前向LSTM 層和一個后向LSTM 層構成,如圖4所示。

圖4 雙向LSTM網絡結構
在t時刻,BiLSTM層輸出yt的表達式為

相較于LSTM,BiLSTM 可以實現對傳感器數據的時序特征的雙向特征學習,同時學習到活動過程中傳感器的內部特征,能夠更好學習活動識別和能量分級時序數據特征之間的相關性,從而提升準確率。
本文提出的多任務模型是通過共享多任務網絡的BiLSTM 特征來聯合訓練活動分類和能量消耗等級的?;顒臃诸惡湍芰肯木W絡的部分都有單獨的分支,它們共享由BiLSTM 層提取的相同特征,以預測每種類型的輸出。由于兩個任務都是分類任務,故我們將BiLSTM 層輸出的K 維特征向量通過兩個不同的全連接層連向兩個不同的輸出。兩個分類的損失函數都是由Keras庫中提供的分類交叉熵損失函數確定的。

損失函數計算了真實值yi和預測值之間的誤差。損失函數的值越小,表示模型預測的結果越準確。為了改善模型可能出現的過擬合現象,引入了隨機丟棄部分神經元結點方法(Dropout方法),避免訓練得到的模型過于復雜。
本實驗使用深度學習框架搭建了基于多任務雙向LSTM 的人類活動識別和能量消耗模型,并使用實驗數據集得出模型的精確度。實驗在macOS Big Sur11.5.2 操作系統完成,代碼運行環境為Python 3.7,計算機處理器為1.8 GHz 雙核Intel Core i5,內存為8 GB。
實驗首先通過訓練數據集的一個子集,即選取測試人員N1 數據進行訓練來判斷BiLSTM層的記憶細胞數量對結果的影響,并找出最佳記憶細胞數。測試人員N1 在不同參數下的準確率和F1 值見表4。精準率、召回率和F1 值的計算分別公式為

表4 測試人員N1在不同參數下的準確率和F1值

其中,TP為預測答案正確的樣本數量,FP為錯將其他類預測為本類的樣本數量,FN為本類標簽預測為其他類標的樣本數量。
如表4所示,分類任務中最不成功的模型是細胞數量為16 的BiLSTM 網絡,因為它無法捕獲區分特征,而對于細胞數量為64 的BiLSTM網絡,因為它變得相對復雜,無法使用當前數據集進行訓練。最成功的模型是通過細胞數量為16 的BiLSTM 網絡層獲得的,因為不論是對于活動類型任務還是能量消耗任務,它在訓練和測試集中都達到了最高的精度。故設置模型BiLSTM 網絡層的細胞數量為48,批處理大小為128,訓練迭代次數為100,初始學習率設置為0.001,學習率下降因子設置為0.1。
多任務CNN、多任務LSTM 模型和多任務BiLSTM 模型通過訓練集進行訓練,三個模型訓練過程中兩個不同任務的準確率和損失值曲線如圖5所示,模型訓練過程的活動識別和能量消耗分級準確率曲線分別如圖5(a)、5(b)所示,橫坐標為迭代次數,縱坐標分別為人體活動的識別準確率和能量分級的分級準確率。模型訓練過程的活動識別和能量消耗分級的損失值曲線分別如圖5(c)、5(d)所示。橫坐標為迭代次數,縱坐標分別為訓練過程中活動識別和能量分級的損失值。
從圖5(a)和5(b)中可以看出,多任務BiL?STM 模型活動分類準確率達到穩定狀態所需時間最短,而多任務LSTM 和多任務CNN 的準確率達到穩定狀態需花較長時間,且隨著迭代次數增加,多任務BiLSTM 模型的分類準確率穩步上升為三個模型中的最高值。
從圖5(c)和5(d)中可以看出,多任務BiL?STM 以最短的時間使訓練集損失函數值達到接近0的穩定狀態,且隨著迭代次數增加,多任務BiLSTM 模型的損失值穩步降低到三個模型中的最小值。

圖5 多任務模型訓練過程性能曲線
表5 所示多任務CNN、多任務LSTM 和多任務BiLSTM 模型的性能對比,無論是在活動分類還是能量分級任務中,多任務BiLSTM 的表現都是最好的。

表5 多任務LSTM模型、多任務CNN、多任務BiLSTM模型性能對比
本文通過可穿戴傳感器設備對配送人員的日常活動進行記錄和跟蹤,且提出了一個多任務模型對配送人員進行活動分類和能量消耗分級。經實驗,多任務BiLSTM 模型的分類結果準確,對能量消耗等級的劃分也合理。在未來的工作中,我們計劃利用受試者相關的信息改進模型,以實現更高的活動性分類和能量消耗分級精度,從而改進現有的配送酬勞分配方式。