余雪源
(西南交通大學信息科學與技術學院,成都610000)
隨著我國交通基礎設施建設趨于完善,機動車數量不斷增長,加油站遍布城市的各個角落。與此同時,加油站的安全問題也成為城市安全保障的重要一環,在人口密集的市區,一旦由于員工操作失誤造成安全隱患,會產生無法彌補的后果。目前針對加油站員工行為的檢測還沒有一套智能化方案,當前主要通過對員工進行嚴格培訓以及人工巡檢的方式進行,這種方式的自動化以及智能化的程度不高,耗費了大量人力成本的同時,無法對員工的危險操作進行及時報警。
隨著深度學習的不斷發展,常用的多階段算法Faster R-CNN[1]和單階段算法YOLO[2]、SSD[3]等被用于目標檢測任務,但這些方法只能獲取視覺場景下各物體的類別和位置信息,不能表達人物之間的語義關系這種深層信息,從而無法判斷員工操作某一物體時是否違規。目前對于人體動作識別使用的主要方法有3D 人體姿態識別,這種方法雖然可以帶來良好的準確度,但計算成本太大,不適用于實際生產環境。Alpha-Pose[4]可以提供一個輕量級的實時人體關鍵點檢測模型,但如何有效利用這些關鍵點信息,得到人物之間的交互關系和交互動作也是一大難點。
本文著眼于人物交互檢測這一熱門的計算機視覺研究領域,在以實例為中心的注意力網絡iCAN[5](Instance-Centric Attention Network)的基礎上,利用目標檢測結果,判斷人和物體之間的交互關系以及交互動作類別,為檢測員工的操作行為是否符合規范提供了一種智能化方法。并且本文結合了AlphaPose 的關鍵點檢測結果,將關鍵點特征與卷積特征結合,取得了更好的效果。iCAN 算法由Chen Gao 和Yuliang Zou 于2018 年提出,引入了在自然語言處理中常用的注意力機制(Attention),在人物交互檢測的公開數據集HICODet[6]上取得了極好的準確度,是目前常用的人物交互檢測方法。
由于我國的交通基礎設施建設不斷提升,我國加油站數量已突破10 萬座,加油站中存在大量攝像頭,本文選取了加油站的卸油口場景作為研究對象,卸油口是加油站中安全風險等級最高的場景之一,并且在卸油口場景下,員工需要進行大量手動操作,因此對于一些危險行為需要進行及時報警。首先,我們選取了市區20 余座加油站,在不同的天氣情況下,收集了員工操作卸油過程視頻。由于視頻中員工抽煙、打電話等危險行為樣本較少,因此讓員工對這些行為進行模擬。對收集的視頻進行抽幀后得到6832 張圖片,對圖片數據進行清洗,刪除大部分無人物交互以及出現模糊的圖片后,最終得到6397 張圖片,將這些圖片按照7:3 的比例劃分為了訓練集和測試集。
通過觀察整理加油站卸油口場景下員工操作行為,在該數據集上定義了21 個人物交互關系,設計以<人,物,交互動作>三元組的形式對人物交互類別進行標注,人物交互關系類別定義如表1 所示。本文的數據標注借鑒了V-COCO 數據集的處理方式[7],V-COCO 是MS-COCO 的一個子集,包含了80 個目標類別以及28 個交互動作類別,常用于人物交互檢測任務。本文首先對圖片中目標的包圍框位置和類別進行標注,對于和物體產生交互關系的員工,我們記錄下物體和員工所對應的包圍框ID,將這兩個ID 進行關聯,按三元組的形式標注其交互動作類別。因為員工可能會同時進行多項操作,因此在一張圖片上,針對某一員工可能會存在多個三元組以表示同一人員同一時間存在多組人物交互關系。

表1 人物交互關系類別
本文僅在市區20 余座加油站進行了數據采集,由于各加油站卸油區的設計不統一,攝像頭的位置和角度也會隨之變化,導致不同加油站采集的數據差異明顯,并且戶外的光照以及天氣差異對目標檢測的效果有較大影響。為了提高算法的泛化能力,以適用于更多的加油站卸油區場景,本文采用圖片旋轉、水平翻轉、伽馬變換的方式對訓練數據進行增廣,產生大量相似卻不相同的訓練數據,滿足深度學習對訓練數據多樣性的需求。
本文采用了Faster R-CNN 作為目標檢測網絡,得到人和物體的位置及分類,使用ResNet 50[8]提取輸入圖片的卷積特征,將卷積特征送入以實例為中心的注意力模型iCAN,檢測得到人和物體之間的交互動作類別,最終得到完整的<人,物,交互動作>三元組。為了提高交互動作檢測的準確性,在原有的iCAN 算法基礎上,本文使用了AlphaPose 提取人體關鍵點特征,將關鍵點特征與卷積特征結合,預測人的交互行為,模型結構如圖2 所示。

圖1

圖2 模型結構圖
Faster R-CNN 是目前常用的目標檢測算法,它是一個完全的端到端算法,在檢測的速度和準確度上均取得了出色的效果。不同于Fast R-CNN 中的Selective Search 方法,在Faster R-CNN 中使用了候選區域生成網絡RPN(Region Proposal Network)提取候選區域,在保證精度的同時減少了候選區域提取的耗時操作。RPN 對于特征圖上的每一個錨點(anchor),生成具有不同寬高比和尺寸的錨點框,然后將這些錨點框送入分類以及回歸模塊計算目標類別以及位置,RPN網絡結構如圖3 所示。本文使用了ResNet 50 作為特征提取主干網絡,結合Faster R-CNN 產生目標的位置以及分類,將得到的卷積特征作為人物交互檢測模塊的輸入特征。

圖3 RPN網絡結構圖
人物交互檢測模塊包含了以人為中心、以物為中心以及人物結合三個不同的分支。將目標檢測得到的卷積特征作為分支輸入,在以人為中心和以物為中心的分支上,使用了以實例為中心的注意力網絡iCAN,在人物結合分支上使用了人和物的聯合特征,在各分支上預測人物交互動作得分,最后采用多分支融合的策略,得到最終的交互動作得分,得分計算公式定義為:

式中,sh與so分別為預測的人和物類別得分,,分別是以人為中心、以物為中心以及人物結合三個分支預測的交互動作得分。
以實例為中心的注意力網絡iCAN 將卷積特征作為輸入,使用RoI 池化、ResNet 殘差塊,以及全局平均池化(Global Average Pooling,GAP),得到實例級外觀特征。使用1×1 的卷積核改變特征的維度,使用矢量點積的形式將卷積特征與實例級外觀特征一起嵌入到512 維的空間中,然后通過Softmax 函數計算得到以實例為中心的注意力圖。Softmax 將特征圖中的每個像素點的值映射到(0,1)區間,讓所有值的和為1,每個點的像素值就轉化成了概率值。Softmax 函數表達式為:

將注意力圖與卷積特征進行矢量點積運算,通過全局平均池化以及全連接操作得到上下文特征,將上下文特征與實例級的外觀特征進行拼接得到該分支的輸出特征。將該分支的輸出特征通過21 個二分類器進行分類,我們將分類的結果輸入到sigmoid 函數中,將輸出映射到(0,1)區間,sigmoid 函數表達式為:

本文使用到的損失函數為交叉熵損失,該損失函數常用于分類問題,N 個樣本的總交叉熵損失表達式如下:

本文設計了實驗驗證算法的可行性,并且參考了大量文獻后設計了多個對比實驗,研究不同特征提取算法對生成注意力圖的影響,以及關鍵點檢測方法對人物交互動作的分類是否有幫助。本實驗基于Linux 系統,使用了兩塊NVIDIA TITAN XP 顯卡、32G 內存,使用的深度學習框架為TensorFlow,實驗檢測結果如圖4 所示。

圖4 實驗檢測結果
平均精度均值(mean Average Precision,mAP)常作為多標簽圖像分類任務的評價標準,衡量的是在所有類別上的平均好壞程度。本文使用了交并比(Intersection over Union,IoU)來判斷預測包圍框結果的準確性,IoU 指預測框與真實框的交集與并集的比值,通過設定閾值來衡量正負樣本。

為研究不同特征提取算法對生成注意力圖的影響,本文分別使用了VGG 16、ResNet 50、ResNet 101 作為特征提取網絡,根據大量的參考文獻表明,ResNet 101 提取的特征相較于VGG 16 以及ResNet 50 具有更豐富的視覺和語義信息。實驗結果如表2 所示,從表中我們可以得出,更豐富的特征,會使網絡生成更具有表現力的注意力圖,利用注意力圖可以凸顯特征中與目標更加相關的部分,將網絡的注意力集中到該部分,可以提升檢測的準確性。但ResNet 101 的檢測速度不夠理想,出于實用性的考慮,本文選擇了ResNet 50 作為特征提取網絡,以此達到速度與精度的平衡。
為研究人體關鍵點對人物交互動作檢測的影響,本文使用了目前常用的關鍵點檢測算法AlphaPose,獲取人體的關鍵點信息,關鍵點檢測如圖5 所示。本文設計了兩組對照試驗,一組是將圖片的卷積特征與關鍵點特征結合,一組只使用了卷積特征。實驗結果如表2 所示,兩組實驗都可以取得不錯的效果,但是由于關鍵點特征對人體動作具有較強的指示性,同一動作其人體關鍵點特征符合一定的模式,因此使用了關鍵點特征最多會高出4.4%的mAP。

表2 實驗結果

圖5 關鍵點檢測
本實驗以目前計算機視覺中的重點研究領域為基礎,對加油站中卸油口場景下的人物交互動作進行了研究,不僅從目標檢測的角度確定目標的位置以及類別,而且分析圖片中各目標之間更深層的交互關系。本文使用了以實例為中心的注意力模型iCAN,同時結合了AlphaPose 檢測的人體關鍵點特征來提高檢測的準確度,相較于加油站現有的人工巡檢方式節省了大量人力成本,具有一定的使用價值。
這一研究不僅可以在加油站場景中及時檢測到員工的違規操作,避免危險的產生,同時基于人物之間的交互關系分析人類的行為,判斷這些行為的危險性,可以對不法分子在公共場合下的危險行為及時預警。隨著這一領域的不斷發展,隨之產生的應用會為社會帶來更加穩定和智能化的安全保障。