李亞偉, 陳文鏗, 林鴻強, 張旭生, 陳子健, 林進潯, 陳國棟
(1 福州大學物理與信息工程學院, 福州 350108; 2 福建數博訊信息科技有限公司, 福州 350002)
塔式起重機(又名“塔吊”),是建筑工地上常用的起重設備,縱觀國內塔吊租賃行業,每年塔吊安全事故都有發生。 據有關部門統計,目前國內塔吊重大安全事故率約為0.3%,多數情況都是由駕駛人員的違規操作造成的,且一旦發生事故,駕駛人員的生還率極低。
目前,對于駕駛人員的行為規范監測研究中,基于面部識別的駕駛員疲勞危險駕駛檢測系統[1-2]針對眨眼和打哈欠時的人臉特征點進行建模、提取和訓練,通過疲勞閾值來判斷是否疲勞駕駛,但疲勞閾值的設定存在因人而異,泛化能力不夠的問題;基于雙向長短記憶網絡[3-4]的異常駕駛行為的檢測方法,通過構建前向LSTM(Long Short-Term Memory)和后向LSTM 雙向網絡來記憶過去時刻的車輛運動狀態(橫縱向加速度和轉向角等),再將結果輸入到全連接層中回歸分類異常駕駛行為(急剎車和急拐彎等),但此方法并不適用于塔吊駕駛人員檢測;多任務級聯卷積神經網絡MTCNN[5]結合人臉識別方法,同時對手機和煙頭進行檢測,通過級聯結構達到較高的人臉檢測對齊速度,構建其關聯性,來判斷駕駛人員是否存在違規行為,但若駕駛人員使用手機時離臉部較遠會出現漏判情況;雙線性注意力網絡[6]在RNN 的基礎上引入了長短時記憶單元,擁有了記憶功能,解決了RNN 的梯度消失問題,構建了多重損失網絡的結構,能對多種分心行為進行分類,但每個LSTM 的神經元都連接多個全連接層,對設備的算力、內存要求高,而且耗時,較難在移動端實施實時性部署;彭豪等人[7]提出基于改進的Faster R-CNN 的FRC-Tiny 目標檢測模型,并與鄭福建等人[8]提出基于剪枝的Cut-YOLOv3 算法模型,通過融合算法,在原生算法性能上得到進一步提高。
針對上述研究存在的問題,本文在此基礎上提出了結合手部檢測的塔吊駕駛人員行為規范監測方法,在Faster R-CNN[9-10]網絡的基礎上,融合剪枝、注意力機制等算法,對模型的效率和精度進行了優化,通過手部和被測物體的IOU對比,更準確判斷駕駛人員的違規行為,具備效率快、精度高和魯棒性強等特點, 并與FRC - Tiny 檢測模型和Cut -YOLOv3[11]模型進行對比。 實驗結果表明,該模型在行為監測上表現更優。
Faster R-CNN 是兩階段的檢測算法,引入Anchor 先驗框,利用RPN 快速生成候選框,預測每一個Anchor 屬于前景與背景的概率,生成區域建議框并計算真實物體相對于Anchor 的偏移量。 通過RoI Pooling 層后,特征信息池化到統一的維度上,再輸入到全連接層進行分類和回歸,兼顧了目標檢測的精度和效率。 本文在此網絡的基礎上,融入了剪枝處理和通道注意力模塊,在精度略有下降的同時,提高了模型的效率。 基于改進的Faster R-CNN 主干網絡如圖1 所示。 在此將網絡模型分為兩條支路,輸入的數據分別經過兩個ResNet101 模塊。 第一部分是ResNet101-FPN 層-RPN 層,利用FPN 層的雙向特征金字塔來提取全局特征;第二部分是ResNet101 網絡+注意力機制,用于生成局部特征,結合第一部分的全局特征進行上下文信息融合,通過FC 層進行softmax 回歸。

圖1 主干網絡CF-R-CNN 模型圖Fig. 1 Backbone network model diagram of CF-R-CNN
由于移動端的算力水平普遍偏低,若在移動端部署,需對網絡進行輕量化處理,故對Faster RCNN 網絡進行剪枝處理。 在Faster R-CNN 模型中,網絡計算量集中在ResNet101 模塊上。 文獻[12-13]中提出的ResNet101 網絡,在目標檢測中表現優異。 其內部的殘差塊使用了跳接方式,緩解了神經網絡深度加深時帶來的梯度消失問題,保留ResNet101 的殘差跳接部分,對殘差塊的層數進行優化。 但ResNet101 網絡在訓練數據時,會將數據擴展到多維度上,有些維度上的權值較小,對特征不敏感,可考慮將其剪除達到網絡“瘦身”的目的。 具體的處理過程如圖2 所示。 在ResNet101 中的第二和第三個大殘差塊中,將其中的小殘差塊進行整合。如:輸入56*56*256 維度的特征圖,經過三層卷積之后又恢復成56*56*256 的特征圖,再與卷積前的特征圖跳接,經過激活層后,再通過三層卷積層最后輸出28*28*512 的特征圖。 針對這些反復提取特征的殘差塊,本文先將輸入信息輸入給卷積核大小為3×3 的卷積層,而不是原網絡的1×1 卷積核,增大了感受野,然后再把特征信息輸入到1×1 的卷積核中,對輸入進行降維,再重復一次這樣的操作,只是把第三層的步長S設為2,進行上采樣,最后將輸入與輸出進行融合后送入激活函數。 跳接部分不采用輸入直接與輸出跳接,而是將輸入進行上采樣后,再與輸出進行跳接,從而減少網絡參數的計算量。

圖2 ResNet 剪枝流程Fig. 2 Pruning process of ResNet
在獲取被處理的圖像時,攝像頭的拍攝角度和人體遮擋等意外情況,使得檢測準確率不理想[13-14]。 因此在網絡層中引入了注意力機制,加強對細節信息的感知能力。 輸入信息在被喂給網絡的同時會生成多維特征圖,注意力機制可以在成百上千的特征點中聚焦更為關鍵的信息,增強來自全局的感受野[15]。 通道注意機制主要分為特征提取、計算得分和權重分配3 部分。 輸入模塊經過兩層的3*3 卷積提取,假設一個神經層中的輸入序列X= [x1,x2,x3,…,xn],首先通過線性變換得到3 組向量序列:
其中,Q、K、V分別為查詢向量序列、鍵向量序列和值向量序列;WQ、WK、WV是可以學習的參數矩陣,輸出后的維度保持不變。
通過全局平均池化的方式壓縮通道上的特征信息,再經過打分模型公式:
計算注意力得分,利用softmax 對注意力得分轉換到0~1 后,計算注意力分布:
最后,采用加權求和的方式對輸入信息進行匯總,得到注意力值:
注意力值可以幫助模型在訓練時重新分配更佳的權重,通道注意力模塊在訓練中能夠學習通道之間的相關性,抵抗噪聲和遮擋無關干擾。 在模塊中采用了卷積核的卷積層,僅引入少量參數就可提高模型的精度[16-17]。
圖片信息輸入到網絡后,經過最后的FC 層,回歸結果有4 類,即檢測到手機、煙頭和手,或者是三者都未檢測到。 為了提高模型的魯棒性,本文采用交并比算法判定檢測結果。 當檢測到手機或煙頭時,會進一步判斷是否檢測到了手部,通過手部和手機或煙頭的預測框IOU占比計算,判斷駕駛人員是否在玩手機或吸煙。 這里的IOU為手部和手機或煙頭的預測框的交并比,其計算公式如下:
IOU數值介于0~1 之間,反映了兩個集合之間的相似度。 如圖3 所示,其中的A 代表手部的預測框,B 代表手機或煙頭的預測框,分子是兩者的交集,分母是兩者的并集。 通過設定IOU的閾值來判斷手部和手機煙頭是否存在接觸,增加了預測的精確度。

圖3 IOU 占比圖Fig. 3 Proportion of IOU
訓練前將圖片尺寸變換成244*244 大小,并對數據進行歸一化處理。 為了提高泛化性能,本文對數據進行了增強處理:
(1)對現有數據進行旋轉、平移、縮放和填充;
(2)在圖像中加入椒鹽噪聲和高斯白噪聲,擴充數據集。
訓練過程中,訓練集和驗證集按照8 ∶2 分配。實驗訓練環境為:Ubuntu18.04 +NVIDIA GeForce RTX 3080 +AMD 銳龍R7 - 5800 +Pytorch1. 8 +python3.7;模型訓練70 輪,學習率為0.001,每20 輪降一半;根據圖4 中不同IOU閾值的精確度對比,閾值設置從0.3 增大到0.9 時,分類精度曲線先增后減,對于玩手機行為的分類精度在0.5 時達到最高,抽樣行為的分類精度則在0.6 時達到峰值。

圖4 不同的IOU 閾值下的分類精度Fig. 4 Classification accuracy under different IOU thresholds
評價指標可以衡量有一個模型的好壞程度,傳統的指標是精確度(P) 和召回率(R)。 其中,P的含義是真正例在所有預測為正例中的比例,R的含義是真正例在所有樣本正例中的比例。 計算公式如下:
因為P和R本身就是一對沖突的度量,為了兼顧P和R,采用F1 分數作為指標。F1 可理解為P和R的加權平均值,F1 分數被歸一化到0~1 之間,1為最佳分數,0 則為最低分數。F1 表達式如下:
實時性指標則采用FPS,其含義為每秒傳輸幀數。FPS越高,則代表實時性越好。
由圖5 可知,到達70 輪時,實驗訓練和驗證的loss都達到了底部,趨于穩定,訓練和驗證的acc達到了最高值。

圖5 實驗的loss 和acc 圖Fig .5 Loss and acc diagram of experiment
在ResNet 中的第二個和第三個大殘差塊中,將其中的小殘差塊進行整合,輸入特征圖經過多層卷積,先將輸入信息送入大小為3×3 的卷積核,再輸入到1×1 的卷積核中,對輸入進行降維,經過一次重復操作,設置第三層步長S, 進行上采樣,最后將輸入與輸出融合后送入激活函數。 具體的處理過程如圖2 所示。
為了更直觀體現改進后網絡和原網絡的區別,本文逐一添加各個模塊進行對比實驗,結果見表1、表2。

表1 逐一加入各個模塊下的性能對比Tab. 1 Performance comparison under each module added one by one

表2 與引言其他(不同)模型的性能對比Tab. 2 Performance comparison with other (different) models in the introduction
由表1 可知,原生Faster-R-CNN 網絡在剪枝處理后的網絡在FPS上提升39.5%,但精度降低了4.9%;添加通道注意力機制后,FPS數值上略微下降,F1 提高了0.8%;將上述算法融合改進后,網絡的F1 值相比原網絡只降低了2.1%,但FPS提高23%,兼顧了精度和實時性的要求。 因此,本文提出的模型在精度和實時性上優于Cut-YOLOv3 和FRC-Tiny模型。
表2 中,CF-R-CNN 模型的FPS值為20.16,F1 數值為0.897,對比Cut-YOLOv3 模型,FPS和F1數值分別提高了3.6%和4.0%;對比FRC-Tiny 模型,F1 數值下降了1.0%,但FPS提高了9.3%。
如圖6 所示,Faster R-CNN 方法能夠正確的識別出數據集中的手機、煙頭和手,并在圖片中標記。
本文針對現有的駕駛人員行為監測方法不適用性、效率低和效果差等情況,提出了一種改進的Faster R-CNN 方法。 結合手部檢測的方式,對Faster-R-CNN 的ResNet101 模塊進行了剪枝處理,并融合注意力機制等方法。 改進后網絡的F1 值相比原網絡僅降低了2.1%,但FPS相比提高了23.0%,滿足在移動端部署的要求;同時使用了交并比閾值的方法,提高了檢測的精度。
雖然本文的實驗研究對塔式起重機駕駛人員行為起到督促和監測的作用,對維護工地安全方面有一定的貢獻,也存在著不足,如在極端情況下會發生漏判等問題。 后續可考慮對手部進行3D 建模等處理,增加手部和手機煙頭的特征關聯性,提升檢測效果。