徐曉東,王俊杰
中國海洋大學 工程學院,山東 青島 266100
建筑業(yè)作為我國國民經濟的重要支柱產業(yè)之一,目前智能化和自動化水平較低,尤其在現場施工管理工作中,仍然以人工檢查為主。隨著人工智能技術的快速發(fā)展,深度學習方法已經被廣泛應用到交通、醫(yī)療和城市管理等領域。在建筑施工領域,深度學習方法的應用,能夠支撐并推動建筑機器人、智慧建造和無人工地等最新的建筑技術和施工管理方式的發(fā)展。在現場施工管理工作中,基于工地監(jiān)控設備進行施工人員檢測,能夠為施工安全、資源調配和進度控制等方面提供支持,具體應用有碰撞預警、異常侵入檢測和危險區(qū)域警告等,擁有很高的應用價值[1-2]。
行人檢測是目標檢測研究領域的一個重要研究方向。目標檢測是一種基于深度學習的計算機視覺方法,能夠從輸入圖像中找到特定類別目標并給出位置信息,大致可以分為兩類,即Two-stage和One-stage檢測算法。Two-stage檢測中,代表算法為基于區(qū)域的卷積神經網絡R-CNN[3],以及其優(yōu)化版本Fast R-CNN[4]和Faster R-CNN[5]。該類算法檢測過程可以分為兩個階段,一是進行候選區(qū)域選取,二是對選取區(qū)域進行分類和定位。這類檢測方法檢測精度較高,但模型結構復雜,計算參數較多,實時檢測性能較差。One-stage算法,如SSD[6]、YOLO系列[7-9]等,可以通過一個網絡結構,完成候選框的選擇和分類定位,節(jié)省了計算成本,提高了檢測的速度,更適合于在邊緣計算設備上進行實時檢測。
傳統的行人檢測任務大多基于自然場景下,如商場、體育場和道路等。李昕昕[10]、魏潤辰[11]分別基于RFBNet[12]和YOLOv3算法進行改進,用于檢測道路行人。相較于常規(guī)行人檢測任務,在其他特殊場景下,行人檢測算法也有具體的應用。王琳[13]、李偉山[14]分別基于YOLOv2與Faster R-CNN算法提出了煤礦井下的工人檢測方案。
在施工場景下,圖像環(huán)境背景更加復雜,人員穿戴和行為姿勢也較為特殊,因此需要專門進行施工場景下的施工人員數據集開發(fā)。同時,在算法部署方面,由于施工現場基礎設施條件較差,難以保證全天候的良好網絡環(huán)境,因此面向邊緣計算,在嵌入端設備上進行施工人員檢測算法開發(fā),其實用價值更高。
本文將基于目標檢測算法YOLOv3,針對施工場景中人員檢測任務存在背景復雜、姿態(tài)多樣和部分遮擋等特點,在原基礎上引入特征金字塔池化模塊(SPP)[15],增加深層和淺層特征融合并針對施工人員數據集改進網絡anchor大小,建立施工人員檢測網絡YOLO-W,提升檢測精度。同時,使用通道剪枝方法,對模型網絡進行輕量化處理得到實時施工人員檢測網絡YOLO-PW,并在邊緣設備Jetson Xvaier NX上完成部署實驗,建立一套完整的實時施工人員檢測方法。
YOLOv3網絡是YOLO系列算法的第三個版本,由于其良好的檢測精度和較快的檢測速度,已經被廣泛應用于各個行業(yè)。YOLOv3網絡模型主要由兩部分組成:特征提取網絡和YOLO檢測器。
YOLOv3模型使用Darknet-53網絡作為特征提取的主干網絡。該骨干網絡具有53個卷積層,網絡結構更深,其中使用了一系列性能良好的卷積層,如3×3和1×1大小的卷積結構,并采用LeakyReLu作為激活函數,可以在保持較高檢測速度的同時提高目標識別的準確性。同時,Darknet-53網絡使用類似于ResNet[16]的快速連接(Shortcut Connections)的跳層連接,原始數據可越過中間層直接與后面的層連接,降低了模型的復雜度并減少參數的數量,從而有效提升模型的檢測速度。
以圖像輸入尺寸416×416為例,Darknet-53網絡通過各網絡層的卷積和池化處理,對輸入圖像進行不同尺度的特征提取,再通過YOLO檢測器將對特征提取網絡輸出的不同尺度特征圖進行融合,最終在三個不同輸出維度上進行結果預測,最終得到目標的位置和類別信息。其中,YOLO檢測層在13×13、26×26和52×52三個不同尺度生成預測結果,分別適用于大尺度目標、中等尺度目標和小尺度目標的檢測。
由于施工現場背景復雜,人員目標大小尺度具有多樣性,同時,為使得檢測模型具有更好的泛化性,在施工人員數據集中使用了不同拍攝距離的照片,使得人員目標尺寸大小差別較大。因此,為加強對不同尺度目標的檢測精度,提升模型泛化性能,在原有的特征提取網絡后加入特征金字塔池化模塊(SPP),以實現局部特征和全局特征的良好的融合。
如圖1所示,SPP模塊由三個大小不同的池化層組成。原始輸入圖片通過特征提取網絡后,輸出特征圖將分別在5×5、9×9和13×13的三個池化層(深色框部分)中進行池化操作。之后,將三個輸出結果和原始特征圖合并,再與原始特征圖進行通道融合,從而實現不同尺度的特征融合,消除目標尺寸差異的影響,提高檢測精度。

圖1 空間金字塔池化模塊Fig.1 Spatial pyramid pooling module
施工現場圖像背景復雜,包含建筑結構、施工機械和施工材料等,相較于這些大型建筑資源和建筑結構,施工人員目標在施工場景中尺寸較小,因此需要在檢測網絡中加強對圖像低層特征的提取,來提升網絡模型對小目標的檢測性能。
在YOLOv3原網絡中,特征提取網絡獲得的特征圖將經過不同尺度的特征融合,最終在13×13、26×26、52×52三個不同尺度上輸出特征圖進行預測。其中,最小特征圖尺寸為13×13,這對于大場景、遠距離的施工圖像中的人員目標檢測仍然存在一定局限。因此,在原網絡結構上增加一個輸出檢測層,以提高淺層特征對輸出結果的影響程度,加強對小目標的識別。
如圖2所示,淺層特征較深層特征對施工人員目標的位置信息更為敏感,對于施工圖像中的人員定位更加精準,對全局信息的關注度更高。因此在原網絡結構基礎上增加一個104×104尺寸的檢測層,加強對淺層特征的敏感程度,提升對小目標的檢測性能,最終在13×13、26×26、52×52、104×104四個不同尺度上進行結果預測,實現對施工場景中不同尺寸的施工人員目標檢測。

圖2 淺層特征與深層特征Fig.2 Shallow features and deep features
圖3為本文建立的施工人員檢測網絡,施工人員數據集圖像輸入到檢測模型后,首先將尺寸統一修正為416×416,輸入到特征提取網絡Darknet-53中進行特征提取并輸出不同尺度的特征圖,再通過YOLO檢測器進行多尺度預測,并將檢測結果合并得到最終的輸出結果,檢測出施工場景圖像中的施工人員目標并進行可視化預測。

圖3 施工人員檢測網絡YOLO-W結構Fig.3 Structure of construction worker detection network YOLO-W
YOLOv3原網絡所使用的先驗框是在COCO公共數據集[17]上使用聚類算法生成。COCO數據集多基于自然場景,目標類別較多,而在施工人員檢測任務中,應用場景為具體的施工現場,檢測目標也只有施工人員一類,因此原候選框不適用于施工人員檢測場景,需要采用K-means聚類算法在施工人員數據集上進行重新聚類得到合適的候選框,如圖4所示。
由于本文所提出的檢測網絡在原YOLOv3基礎上增加了一個檢測層,在四個尺度上進行特征輸出,因此需要聚類得到12個候選框。其中,(11,26),(15,45)和(24,36)用于104×104特征圖輸出預測,適用于小尺寸人員目標的檢測;(22,68),(36,57),(31,103)以及(57,79),(47,129),(48,199)分別用于52×52和26×26特征圖輸出預測,適用于中等尺寸人員目標的檢測;(89,144),(76,258)和(140,286)用于13×13特征圖輸出預測,適用于大尺寸人員目標的檢測。

圖4 目標框聚類及錨框分布Fig.4 Target clustering and anchor distribution
YOLOv3算法能夠在保證較高檢測精度的同時,實現較快的檢測速度,但原檢測網絡較為復雜,模型計算參數過多,難以在嵌入端設備上進行現場部署,在施工場景下完成部署并進行實時檢測存在困難。為了讓檢測模型能夠在計算能力較低的嵌入端設備上實現實時的檢測,可以使用通道剪枝方法來簡化網絡結構并降低參數量。
通道剪枝算法可以根據模型中各卷積層每個通道的重要程度大小,去除掉其中對下一層輸出結果貢獻程度不大的通道,來減少模型的計算參數[18]。本文采用的通道剪枝思路為,通過常規(guī)基礎訓練獲得具有較高精度的權重,在BN層中引入縮放因子γ,對網絡進行稀疏訓練,以稀疏處理后γ系數大小作為判斷各通道的重要程度,從而為剪枝處理提供依據。
YOLOv3網絡中,除YOLO檢測層外,卷積層后都連接一個BN層來加速模型收斂并提高泛化能力。為便于進行通道剪枝,在各通道中引入縮放因子γ,在每個訓練批次中,卷積操作后的特征將在BN層中進行歸一化處理,如公式(1):

公式(1)中,x和y分別為BN層的輸入和輸出,x和σ分別是各訓練批次輸入特征的均值和方差,γ和β分別為縮放因子和偏差。由公式可見,在BN層中引入的縮放系數γ可用于保留BN層輸入特征,可根據γ大小來判斷所在通道的重要程度[17]。
為便于進行通道剪枝處理,對λ系數進行L1正則化約束,引入新的損失函數如式(2),對網絡進行稀疏訓練,實現對BN層權重的稀疏化處理。

式中,第一項為網絡正常訓練損失,x和y分別為訓練的輸入和輸出,W為網絡中的訓練參數;第二項為BN層γ系數的L1范數約束項,λ為懲罰項的尺度因子。引入該損失函數后,在稀疏訓練過程中,使用梯度下降優(yōu)化方法不斷迭代,自動學習并調整BN層權重大小,不重要的通道λ系數值將趨近于0。
如圖5所示,使用BN層γ系數大小來確定其所在通道的重要程度,根據設定的通道剪枝率確定γ系數閾值,去除低于該值的通道。在圖5中,假定設置的γ系數閾值為0.005,則圖中紅色實線所指通道將得到保留,而紅色虛線所指通道將被去除,不參與前后兩層的輸出連接關系,從而實現通道剪枝。

圖5 通道剪枝算法示意圖Fig.5 Pruning schematic diagram of channel pruning algorithm
行人檢測任務大多基于自然場景下,使用的行人數據集也以商場、體育場和道路等自然場景為主,如COCO數據集[19]、Pascal VOC數據集[20]等。圖6為常規(guī)場景下行人目標與施工場景下的人員目標對比,施工場景下圖像的環(huán)境背景更加豐富,人員穿戴特征和行為姿勢也較為特殊。
因此,相較于常規(guī)行人檢測,施工人員檢測任務更為復雜,同時需要專門進行施工場景下的施工人員數據集開發(fā)。首先,對本研究領域論文公開的施工圖像數據集[21]進行圖片篩選,同時通過實地拍攝獲取施工現場圖像,從而得到施工人員數據集的原始圖像,再使用LabelImg標注工具對施工圖像進行標注,如圖7所示。

圖6 常規(guī)場景與施工場景對比Fig.6 Comparison of conventional scenes and construction scenes

圖7 labeLImg工具圖像標注Fig.7 Image annotation with labeLImg tool
施工人員數據集共包含3 000張帶有施工人員標注信息的圖片,共包含施工人員目標11 817個。其中,2 400張圖像將作為訓練集參與訓練,600張圖像作為測試集對檢測結果進行評價。
目標檢測模型在訓練過程中對設備計算能力要求較高,因此在臺式計算機設備上完成基礎訓練和剪枝試驗,訓練所使用計算設備具體參數如表1所示。

表1 實驗平臺配置Table 1 Experimental platform configuration
經過網絡訓練和剪枝處理得輕量化檢測模型后,在嵌入式平臺Jetson Xavier NX上進行實驗部署,結合Tensorrt庫進行加速推理,來判斷該模型在邊緣計算設備上的實時監(jiān)測性能。
在實驗結果分析中,使用平均準確率均值(mean Average Precision,mAP)作為模型檢測精度評價指標,計算公式如式(5)所示:

式中,TP指真正例,FP指假正例,FN指假負例,P代指Precision(精確率),R代指Recall(召回率),n為類別數,由于所使用的施工人員數據集類別數為1,因此AP值與mAP值相同。另外,使用每秒檢測幀數(FPS)作為模型檢測速度評價指標。
基于本文制作的施工人員數據集對建立的施工人員檢測網絡進行基礎訓練,訓練中批處理大小和分組數量均設置為16,動量和權重衰減分別設置為0.9與0.000 5,初始學習率設置為0.001,訓練過程中損失函數變化情況如圖8所示。

圖8 訓練過程損失變化曲線Fig.8 Loss curve variation of training process
訓練中發(fā)現,在8 000個訓練批次完成后,損失值基本收斂,因此在進行到8 000和10 000訓練批次時將學習率降低為當前的1/10,分別再進行2 000個批次的訓練,從而保證模型訓練達到最優(yōu),得到mAP值為88.5%的高精度權重,將該檢測模型命名為YOLO-W。
如圖9所示,原模型經過基礎訓練后,每層的BN層γ系數分布大致呈現為正態(tài)分布,不利于進行各通道重要程度的排序從而設定閾值進行通道剪枝處理。
將基礎訓練后得到的高精度權重作為輸入,在訓練集上重新迭代訓練300次,將BN層權重進行稀疏處理,訓練過程中γ系數變化如圖10所示。

圖9 稀疏處理前γ值分布Fig.9 Distribution ofγ-values before sparse processing

圖10 稀疏訓練γ值分布變化Fig.10 Variation ofγ-values distribution during sparse training
經過稀疏訓練處理后,如圖11所示,BN層γ系數得到壓縮,重要程度較低的通道γ值將被壓縮至0附近,以此作為依據來進行各層通道重要度區(qū)分,進行后續(xù)的剪枝處理。

圖11 稀疏處理后γ值分布Fig.11 Distribution ofγ-values after sparse processing
另外,在稀疏訓練過程中,由于對BN層權重進行了壓縮處理,在迭代過程中精度會有一定程度的下降,mAP降低到76.4%,但在后續(xù)剪枝處理完成后,可以通過微調訓練恢復部分精度,從而在進行模型壓縮后仍能保證較高的檢測精度。
在稀疏訓練完成得到的模型權重基礎上,設置不同的剪枝率的閾值來進行剪枝實驗,不同剪枝比例的模型mAP變化情況如圖12所示。

圖12 mAP隨剪枝率變化Fig.12 Variation of mAP with pruning rate
從圖12中可以看出,隨著剪枝率的閾值不斷增大,模型mAP隨之下降,但精度損失較小,直到剪枝率的閾值超過90%時,精度迅速下降。因此,為平衡模型壓縮程度與檢測精度降低情況,選用剪枝率的閾值為90%的模型作為最終的輕量化網絡,并在Darknet框架下進行微調訓練,檢測精度恢復到88.34%,將該施工人員檢測模型命名為YOLO-PW。
表2為本文提出的施工人員輕量化檢測網絡YOLOPW與剪枝處理前模型YOLO-W、原始YOLOv3以及其簡化版本YOLOv3-Tiny,在施工人員數據集上的實驗結果對比。可以看出,YOLO-PW檢測精度較YOLOv3提升4.89個百分點,將模型大小壓縮至原來的1/13,速度提升約一倍,僅略低于YOLOv3-Tiny,檢測性能提升明顯。

表2 不同模型的檢測性能Table 2 Detection results of different models
圖13為YOLO-PW施工資源檢測模型在不同場景下的檢測結果,可以看出,該網絡對于多視角、多姿態(tài)的施工人員檢測效果較好,且在光照不良、存在遮擋等不利條件的影響下,仍能夠保證良好的檢測性能,準確識別出人員目標,完成不同施工場景下的施工人員目標檢測任務。
為檢驗本文所提出的輕量化施工人員檢測網絡在邊緣端的實時檢測性能,將在嵌入端平臺Jetson Xavier NX進行YOLO-PW模型的部署實驗,并使用Tensorrt庫進行加速推理。表3為不同檢測方案在該設備上部署的檢測速度對比,可以看出,經過通道剪枝后得到的YOLO-PW網絡在邊緣設備Jetson Xavier NX上經過Tensorrt加速后,能夠實現69.08 FPS的檢測速度,可以滿足施工現場多視頻流的實時檢測需要。

表3 Jetson Xavier NX部署模型檢測性能Table 3 Detection performance of models deployed in Jetson Xavier NX
實驗結果表明,本文所提出的實時施工人員檢測網絡YOLO-PW能夠在保證精度的情況下,將模型大小壓縮為原來的1/13,在嵌入端設備Jetson Xavier NX上經過Tensorrt加速后,檢測速度提升為原YOLOv3模型的兩倍,能夠在施工現場邊緣端部署,并進行實時施工人員檢測。

圖13 YOLO-PW在不同施工場景下的檢測結果可視化Fig.13 Visualization of YOLO-PW detection results under different construction site
本文以YOLOv3目標檢測算法為基礎,通過增加多尺度特征融合、加入空間金字塔池化模塊以及改進候選框,得到施工人員檢測模型YOLO-W,克服施工圖像中背景復雜、目標尺度多樣和存在遮擋等困難,檢測精度可達到88.57%,相較于原YOLOv3算法提升5.23個百分點。另外,為實現模型在施工現場邊緣端的實時部署,對YOLO-W網絡采用通道剪枝方法得到輕量化模型YOLO-PW,參數量降低為原來的1/13,檢測速度提升為原來的2倍,同時精度損失有限,剪枝后模型仍能保持88.23%的檢測精度。該YOLO-PW模型在嵌入端設備Jetson Xavier NX上結合Tensorrt進行加速推理,可以實現69.08幀/s的檢測速度,能夠良好地滿足施工現場的邊緣端的部署要求,進行實時施工人員檢測,為施工管理人員提供有效的實時信息。本文所使用的施工人員數據集覆蓋的施工場景有限,在后續(xù)研究中將繼續(xù)擴充數據集圖像,提升模型泛化性能,同時將針對獲取的施工人員目標信息進行算法的繼續(xù)開發(fā),將其應用到異常侵入、工效計算和危險預測等管理任務中。