?

基于改進YOLO-Pose 的復雜環境下拖拉機駕駛員關鍵點檢測

2023-11-26 10:12徐紅梅李亞林張文杰趙亞兵
農業工程學報 2023年16期
關鍵詞:關鍵點金字塔駕駛員

徐紅梅,楊 浩,李亞林,張文杰,趙亞兵,吳 擎

(1. 華中農業大學工學院,武漢 430070;2. 農業農村部長江中下游農業裝備重點實驗室,武漢 430070)

0 引言

目前,中國農業發展模式已逐步由細碎化的小田種植過渡到大規模、機械化的大田作業形式,且隨著更多強農惠農政策的出臺,大量的拖拉機投入到農業生產中。由于拖拉機作業頻次高、強度大、范圍廣,致使基層一線農業安全生產形勢嚴峻,安全監督管理亟待加強。復雜的作業環境、機械整體性能趨于老化以及駕駛員操作不規范、疲勞駕駛等原因使得拖拉機作業存在較大的安全隱患。據統計,2021 年全國累計農機事故220 起,死亡46 人,受傷76 人,直接經濟損失達499.6 萬元[1],受制于農機化監管機構職責有限,難以有效應對拖拉機安全生產管理中的種種挑戰,嚴重影響農民的生命與財產安全。為此,開發針對農機作業人員的智能駕駛輔助系統,有助于提升駕駛員的自我保護意識,進一步減輕或避免農機生產中的安全隱患。駕駛員的駕駛姿態和操縱行為對行車安全具有重要影響,駕駛員骨骼關鍵點檢測是進行姿態識別、異常行為分析的前提,是實現智能安全駕駛的關鍵技術[2],它不僅為駕駛員行為識別提供了理論依據,也為駕駛員狀態跟蹤與安全監測提供了一定的參考。

傳統的人體姿態估計方法通過建立人體模型或手工設計特征來設計人體部件檢測器,該方法受圖像背景、光照、遮擋等的影響較大,并且對于多維特征的選擇主觀性較強,不能很好地適應人體部件的復雜性和環境的變化,具有較大的局限性[3-4]。而基于深度學習的檢測方法通過構建強表征能力的神經網絡來獲取豐富的圖像特征信息,具有優秀的非線性映射特性和強大的自學習能力,擺脫了對模型結構設計的依賴,已成為當前人體姿態估計的主流方法。

目前國內外基于深度學習的人體姿態估計方法已取得較大進展。NEWELL 等[5]提出了一種基于編碼器和解碼器的堆疊沙漏型卷積神經網絡SHN(stacked hourglass networks),通過端到端的堆疊多個沙漏結構,有效地捕獲和整合跨尺度信息,提高了單個關鍵點的檢測精度。SUN 等[6]提出了一種高分辨率網絡HRNet,通過并行連接多個不同分辨率的子網絡,重復地執行多尺度融合策略,確保模型在每個分支都具有高分辨率特征,預測得到的熱圖在空間上更準確。CHENG 等[7]在高分辨率網絡HRNet 的基礎上提出了HigherHRNet 網絡,在訓練和推理階段分別采用多分辨率監督和熱圖聚合策略,有效地解決了多人姿態估計中的尺度變化問題,提高了小目標的檢測效果。YANG 等[8]針對多分辨率融合時不能有效地結合全局上下文信息,導致特征丟失的問題,提出了TransPose 網絡,通過融入基于自注意力機制和多層感知器的Transformer 編碼層迭代地從序列中捕獲依賴項,有效地確定人體各部位之間的空間關系。XU 等[9]提出了一種純Transformer 架構的人體姿態估計網絡ViTPose,該網絡采用普通和非分層的Vision Transformer 作為主干進行特征提取,最后通過一個輕量級解碼器對特征圖進行上采樣并對熱圖進行回歸來預測關鍵點,ViTPose 在MS COCO 數據集上獲得了80.9%平均準確率的SOTA性能。

通用的人體姿態估計研究已取得較大進展,但針對車載用途尤其是拖拉機駕駛員的姿態估計卻鮮有研究。CHUN[10]等提出了一種新型卷積神經網絡架構NADSNet,采用具有多個檢測頭的特征金字塔網絡FPN 實現駕駛員和前排乘客的姿態估計和安全帶檢測。BORGHI[11]等設計了名為POSEidon 的回歸神經網絡,其由三個獨立的卷積層和一個融合層,用于深度圖像中駕駛員頭部和肩部的姿態估計。YUEN[12]等在OpenPose 模型的基礎上,引入了一種快速卷積神經網絡方法,用于全身關節估計,該方法可在多個駕駛員和乘客上以40 幀/s 的速度實時運行真實數據。拖拉機駕駛員姿態估計與汽車駕駛員姿態估計存在較大差異:拖拉機駕駛室四面多為雙向透視玻璃[13],光照以及復雜背景的干擾易造成目標缺失和關鍵點的誤檢;其次,駕駛員靈活多變的肢體動作不僅增加各關節點之間分布的差異性和復雜度,也會由于關節點的自遮擋現象導致部分關節點特征信息缺失;操縱桿、踏板等部件的遮擋會損失圖片中人體部分關節點特征信息,破壞各關節之間的關聯關系,增加各個關節點在圖片分布中的差異性。

綜上所述,為解決農業作業下拖拉機駕駛員因外部環境及操縱過程中肢體自遮擋、他物遮擋所造成的關鍵點漏檢、誤檢現象,提高復雜場景下拖拉機駕駛員關鍵點檢測精度,本研究基于Swin Transformer 編碼器、坐標注意力機制以及融合金字塔卷積的高效聚合網絡RepGFPN 提出了一種基于改進YOLO-Pose 的拖拉機駕駛員-關鍵點聯合檢測方法,擬為駕駛員異常行為分析以及狀態監測提供參考。

1 試驗數據

1.1 數據采集與數據集

樣本數據采集于華中農業大學工科試驗基地,試驗拖拉機型號為東方紅LX804,為體現數據集的多樣性,充分考慮實際檢測時的復雜場景,分別選取大、中、小三種體型駕駛員為試驗對象,采用尼康Z5 微單相機以圖像格式采集數據,為增加數據集魯棒性,分別選取早晨、下午、傍晚等各個正常耕作時間段,包括晴天、陰天、順光、逆光等自然條件,拍攝多種操縱姿態以及具有多種遮擋情況的1 100 幅駕駛員圖像作為樣本數據集,分辨率統一為640×640(像素),保存為JPG 圖像格式,并以8:2 的比例劃分訓練集和驗證集。

本研究采用輕量級的圖形標注軟件Labelme 標注駕駛員姿態關鍵點,標注格式采用COCO 格式,共標注17 個人體關鍵點,分別為:鼻子、左眼、右眼、左耳、右耳、左肩、右肩、左肘、右肘、左手腕、右手腕、左臀、右臀、左膝、右膝、左腳踝、右腳踝,標簽中每個keypoint 表示1 個關鍵點坐標,其由長度為3 的數組(x,y,v)表示,其中:x和y表示關鍵點的坐標值;v表示標識符,取值為0、1 和2,當v=0 時,表示圖像中沒有該關鍵點;v=1 時,表示該關鍵點存在,但是被遮擋;v=2 時,表示該關鍵點在圖像中存在并可見。每幅圖像需框選駕駛員主體并標注該個體對應的17 個關鍵點,關鍵點標注樣例如圖1 所示。

圖1 駕駛員骨骼關鍵點標注樣例Fig.1 Annotation example of keypoints of driver’s skeleton

1.2 數據增強

為提升模型魯棒性及泛化能力,避免過擬合現象,本研究采用多種在線數據增強方式,具體包括:隨機裁剪、隨機翻轉、HSV 色域變換、Mosaic 以及Mixup 增強方式。其中,隨機裁剪表示將原圖按一定概率進行隨機裁剪;隨機翻轉表示對原圖沿邊緣水平或垂直方向按一定概率隨機翻轉;HSV 色域變換表示對原圖色調、飽和度以及亮度進行隨機調整;Mosaic 增強方式通過隨機選擇四幅圖像進行隨機裁剪,并拼接成一幅新圖像;Mixup 表示將隨機的兩幅圖像按一定比例混合。各圖像增強效果示意圖如圖2 所示。

圖2 各圖像增強效果示意圖Fig.2 Diagram of each image enhancement effect

2 駕駛員姿態關鍵點檢測方法

2.1 YOLO-Pose 關鍵點檢測算法

現有的關鍵點檢測方法主要分為自頂向下和自底向上兩類[14]。兩階段的自頂向下方法需預先構建人體檢測器,再分別對單個個體進行2D 姿態估計,其復雜的網絡結構使得模型無法滿足實時要求。而自底向上的方法雖然提供了恒定的運行時間,但其需要額外的后處理來提升檢測性能。

YOLO-Pose[15]網絡的整體架構如圖3 所示,其基于YOLOv5 目標檢測算法,采用CSPDarkNet53 作為主干網絡,PANet 作為頸部融合多尺度特征,其將Anchor 與姿態關鍵點相關聯,一個Anchor 匹配一個目標,每個Anchor 囊括人體邊界框以及2D 姿態信息,每個檢測頭包含兩個解耦頭分別用于邊界框定位和關鍵點回歸,目標邊界框由{Cx,Cy,W,H,bconf,cconf}6 個元素確定,其中,Cx、Cy分別為邊界框中心點橫、縱坐標;W、H分別為邊界框寬和高;bconf,cconf分別為邊界框置信度和預測類別置信度。每個關鍵點由{x,y,c}3 個元素確定,其中,x、y和c分別表示關鍵點位置及類別置信度,對于每一個Anchor,將會關聯人體17 個關鍵點的51 個元素和邊界框6 個元素,故總體所需預測元素Pv定義為:

圖3 YOLO-Pose 關鍵點檢測網絡Fig.3 YOLO-Pose keypoint detection network

在損失計算方面,YOLO-Pose 采用具有尺度不變性的目標關鍵點相似度Loks(object keypoint similarity)損失取代傳統L1 損失來檢測關鍵點,通過將IOU 損失的概念從邊界框遷移至關鍵點,在構建損失函數的同時優化了指標本身,進一步提升了模型性能。Loks損失計算公式如下:

式中Nkpts表示關鍵點總數;dn表示第n個關鍵點的預測位置與真實位置間的歐式距離;kn表示第n個關鍵點的歸一化因子;s表示當前目標的尺度因子;k表示與真實標注框匹配的錨框序號;i和j分別表示真實標注框中心點的橫、縱坐標;vn表示第n個關鍵點是否可見;δ為沖激函數,表示只計算真實標注中可見關鍵點的Loks值。

關鍵點置信度損失為

式中LBCE表示二值交叉熵損失函數,通過二分類確定目標個體的關鍵點是否存在;表示第n個關鍵點的預測置信度。

總損失為

式中Lcls表示分類損失;Lbox表示邊界框回歸損失;λcls=0.5,λbox=0.05,λkpts=0.1,λkpts_conf=0.5,以上超參數的選擇主要用于平衡不同尺度上的損失。

YOLO-Pose 關鍵點檢測算法是一種基于無高斯熱圖的聯合檢測方法,利用端到端的思想,去除多個前向傳播過程且無需復雜的后處理環節,一次性實現了目標檢測與姿態估計任務。

2.2 改進YOLO-Pose 關鍵點檢測模型

為解決農田作業環境下拖拉機駕駛員由于光照、背景以及遮擋導致的關鍵點漏檢、誤檢和檢測精度低等問題,本研究以具有四分支特征輸出的YOLOv5s6-Pose 網絡為基礎模型,提出了一種融合Swin Transformer 編碼器、高效層聚合網絡、金字塔卷積以及坐標注意力機制的YOLO-Pose 駕駛員關鍵點檢測算法。具體改進如下:1)在主干網絡P6 層的C3 模塊嵌入Swin Transformer 編碼器,通過構建C3ST 模塊顯式地捕獲各關鍵點之間的空間依賴關系,有效地挖掘全局上下文信息,解決由于不斷下采樣造成的特征缺失問題。2)采用嵌入金字塔卷積的高效層聚合網絡RepGFPN 作為頸部,實現高層與底層信息的高效交互,并添加P6 輸出分支,以適應不同尺度目標的檢測。3)在關鍵點解耦頭中嵌入坐標注意力機制,通過將位置信息編碼到通道注意力中,增強網絡對關鍵點位置的捕獲能力。改進后的網絡結構如圖4 所示。

圖4 改進YOLOv5s6-Pose 網絡結構Fig.4 Improved YOLOv5s6-Pose network structure diagram

2.2.1 Swin Transformer 編碼器

Swin Transformer 編碼器是構建Swin Transformer[16]網絡的核心組件,其由基于窗口的多頭自注意力機制(windows multi-head self-attention,W-MSA)和基于移位窗口的自注意力機制(shifted windows multi-head selfattention,SW-MSA)堆疊而成,每個MSA 和MLP 模塊[17]前應用層歸一化(layer normalization,LN)和殘差連接,其中,MLP(multi-layer perceptron)為嵌入GELU激活函數的多層感知器結構。

為解決網絡在不斷下采樣過程中而導致的全局特征缺失問題,本文將Swin Transformer 編碼器嵌入主干網絡P6 檢測層的C3 模塊中,構建C3ST 模塊,其結構如圖5 所示。

圖5 C3ST 模塊結構示意圖Fig.5 Schematic diagram of C3ST module structure

C3ST 模塊將輸入特征圖分成若干個子窗口,在獨立的子窗口內進行自注意力計算,并采用如圖6 所示的移位窗口自注意力計算方式來學習跨窗口的交互信息,使用掩碼機制隔絕原特征圖中不相鄰區域像素點之間無效的信息交流[18],彌補了傳統ViT[19]架構對于密集預測和高分辨率視覺問題的缺陷,在提升運算效率的同時能夠有效地捕獲全局依賴關系,增強全局建模能力。自注意力計算式如下:

圖6 移位窗口自注意力計算原理示意圖Fig.6 Schematic diagram of the shift window self-attention calculation principle

式中Q、K、V由輸入特征矩陣線性變化所得,QKT為不同特征矩陣信息交互過程,采用點積運算來計算不同特征之間的相似度,dk為輸入通道序列的數量,除以以防止梯度激增,B為相對位置編碼,取自偏置矩陣

2.2.2 高效層聚合網絡RepGFPN

YOLO-Pose 在頸部采用PANet 融合多尺度特征映射,通過增加額外的自底向上路徑,利用低層中準確的定位信息來增強整個特征層次,從而縮短高層和低層特征之間的信息路徑[20],但這種自底向上的路徑設計缺乏高層語義信息和低層空間信息的交互,導致多尺度檢測效果欠佳。

針對上述問題,本研究采用具有跳連結構和跨尺度連接的高效層聚合網絡RepGFPN[21]作為頸部,并額外增加P6 檢測層以適應主干網絡的多尺度輸出。RepGFPN在GFPN[22]的基礎上改進而來,GFPN 通過Queen Fusion 模塊接受更多節點輸入,增強了特征復用及特征表達能力,但其在不同尺度上共享統一通道數,存在特征冗余現象,且過多的節點堆疊導致運算效率降低,RepGFPN 從拓撲結構優化和融合方式優化兩方面入手,通過對不同尺度特征使用不同的通道數以及采用具有重參數思想和層聚合連接的CspStage 模塊融合來自相鄰上下層以及同一層級的不同尺度特征,在不額外增加計算量的前提下,實現了更高的精度,融合模塊CspStage 結構示意圖如圖7 所示。結構上,以P5 層為例,首先,P6-hid 經過2 倍上采樣與P4-in、P5-in 融合得到中間節點P5-hid,其次,P4-out 經過2 倍下采樣與P4-hid、P5-hid融合得到P5-out,同理可得P4-out、P6-out,最后,P4-hid 經過2 倍上采樣與P3-in 融合得到P3-out。

圖7 融合模塊CspStage 及其組件Fig.7 Fusion module CspStage and its components

2.2.3 金字塔卷積

常規的卷積神經網絡都采用內核較小的3×3 卷積用于特征提取,卷積核的大小與網絡感受野呈正相關,即卷積核越大,感受野越大[23]。通常,卷積神經網絡會采用具有多個小卷積核和下采樣層的卷積鏈以逐步減小輸入特征圖大小并增加網絡感受野以此獲取更豐富的特征信息,然而,這不僅會增加參數量和計算復雜度,而且頻繁的下采樣會丟失細節信息,導致網絡的識別性能下降。

金字塔卷積[24](pyramid convolution)包含n層不同核大小的金字塔結構,在金字塔卷積的每一層,內核包含不同的空間大小,從金字塔的底部到頂部逐漸增加內核大小,隨著空間尺寸的增大,核的深度從第1 層減小到第n層,在逐步擴大感受野的同時使用不同的內核大小來捕獲圖像中多尺度的細節信息。同時,為了盡可能降低金字塔卷積的計算量并且在每個層級使用不同深度的內核,使用分組卷積將輸入特征圖分為不同的組,并為每個輸入特征組獨立應用內核[25],金字塔卷積及分組卷積結構示意圖如圖8 所示。

圖8 金字塔卷積及分組卷積結構示意圖Fig.8 Schematic diagram of pyramid convolution and group convolution structure

與標準卷積相比,金字塔卷積有以下幾點優勢:1)多尺度特征提取能力,由于金字塔卷積獨特的核金字塔結構,其可以在不提高計算量的前提下,增大局部感受野,解決下采樣過程中上下文信息丟失問題,增強不同尺度目標的特征提取能力;2)高效性和靈活性,通過設置不同的分組卷積組數和金字塔層數,使網絡更具靈活性和可擴展性。

2.2.4 優化關鍵點解耦頭

關鍵點檢測是對位置信息高度敏感的任務[26],農業作業環境下駕駛員易受光照等外界因素影響,造成關鍵點漏檢、誤檢現象。原始網絡的關鍵點解耦頭通過一個獨立的2D 卷積分別在4 個尺度上進行預測,每個尺度分別對應3 個Anchor,每個Anchor 分別預測51 個特征向量,共計153 個特征向量。本文通過引入坐標注意力機制進一步優化關鍵點解耦頭,以提高關鍵點定位精度。坐標注意力機制結構示意圖如圖9 所示。

圖9 坐標注意力機制結構示意圖Fig.9 Schematic diagram of the structure of the coordinate attention mechanism

坐標注意力機制[27](coordinate attention mechanism,CA)通過將橫向和縱向的位置信息編碼到通道注意力中,使得網絡不僅能夠獲取跨通道的信息,還能捕獲方向感知和位置敏感的信息,其具體包括坐標位置嵌入和坐標注意力生成兩個步驟,對于輸入特征圖X,首先使用池化核大小為(H,1)和(1,W)沿水平和垂直方向進行全局平均池化操作,分別得到在高度h和寬度w上第C通道的特征輸出

式中xc為第C通道的輸入;然后,將式(6)中獲得的特征圖進行維度拼接,并通過1×1 卷積、批量歸一化和非線性激活函數進行特征轉化,得到中間特征映射,如式(7)所示。

式中f∈RC/r×(H+W)為包含水平和垂直空間信息的中間特征,ξ為非線性激活函數,zh和 zw為拼接后的特征圖在高度和寬度方向上的輸出,r為縮減因子,R為實數集合,C為特征圖通道數,F1表示核大小為1 的卷積操作。隨后將f沿高度和寬度維度拆分為兩個獨立的特征張量fh∈RC/r×H、fw∈RC/r×W,另外使用兩個1×1 卷積變換Fh和Fw使fh、fw與輸入特征X通道數一致,再分別經過Sigmoid 激活函數 σ得到高度和寬度上的注意力權重gh、gw,如式(8)所示。

最后,將輸入特征圖X與權重gh、gw進行乘法加權操作,得到坐標注意力模塊的輸出Y∈RC×H×W,如式(9)所示。

式中xc和yc分別為特征圖在第c通道的輸入和輸出,和分別為特征圖在第c通道高度和寬度方向上的注意力權重。

本文在普通2D 卷積關鍵點解耦頭前嵌入坐標注意力機制,增強網絡在預測過程對關鍵點位置的敏感程度,使模型聚焦感興趣區域,提高預測精度。

3 試驗方法及結果

3.1 試驗環境與參數設置

本研究試驗平臺基于Windows10 的64 位操作系統,12 th Gen Intel? Core? i7-12700KF、3.6 GHz 處理器和NVIDIA GeForce RTX 3 070 Ti 顯卡,顯存大小8 GB,GPU 加速庫為CUDA11.6 和CUDNN8.2,Python 版本為3.7.12,深度學習框架為PyTorch1.12.0。

試驗采用隨機梯度下降法(stochastic gradient descent,SGD)作為優化器對網絡進行優化,為保持模型深層的穩定性,訓練采用warm up 策略,在前3 輪內采用0.000 1 的學習率進行預熱訓練,之后恢復到初始學習率,學習率調整方式采用余弦退火學習率衰減策略,初始學習率設為0.01,最終學習率設為0.002,權重衰減系數設為0.000 5,動量因子設為0.937,共迭代300 輪。訓練時將輸入圖像分辨率統一調整為640×640 大小,批次大小為16,所有試驗均使用在COCO 數據集上訓練得的預訓練權重進行遷移學習。

3.2 評價指標

試驗采用MS COCO 官方給定的基于目標關鍵點相似度Loks(object keypoint similarity)驗證標準的平均準確率均值作為評價指標。其中,Loks表示為:

式中i為標注的關鍵點編號;為檢測到的關鍵點位置與真實關鍵點位置的歐式距離的平方;s2為檢測到的人體在圖像中所占的面積;ki為用來控制關鍵點類別i的衰減常數;δ為沖激函數,表示只計算真實標注中可見關鍵點的Loks值;vi表示第i個關鍵點的可見性(vi>0 表示關鍵點可見)。

在目標檢測方面,本研究采用準確率(Precision)和召回率(Recall)作為評價指標。在關鍵點檢測方面,采用mAP0.5和mAP0.5:0.95作為評價指標,其中mAP0.5表示Loks閾值為0.5 時的檢測精度,mAP0.5:0.95表示Loks分別為0.50,0.55,…,0.90,0.95 時的平均檢測精度。采用單張圖片的測試速度作為評價模型推理速度的指標,同時采用參數量作為模型大小的評價指標。訓練集和驗證集目標關鍵點相似度損失以及訓練集各項指標精度曲線如圖10 所示,由圖10 可知,當模型迭代300 次時,各項損失趨于平緩且達到最小,其中訓練集損失為0.158,驗證集損失為0.0073,此時各項精度指標均達到最優。

圖10 改進YOLO-Pose 模型訓練過程Fig.10 Training process of the improved YOLO-Pose model

3.3 消融試驗

為驗證各個改進模塊對模型整體性能的影響,本研究設計消融試驗,試驗結果如表1 所示。

表1 不同改進策略消融試驗結果Table 1 Results of ablation experiments with different modification strategies

分析表1 可知,改進后的YOLO-Pose 駕駛員-關鍵點聯合檢測算法較原始模型在各項指標上均有提升。目標檢測方面,改進后的模型準確率為87.58%,召回率為81.34%,較原始模型分別提升了0.72 和3.11 個百分點。關鍵點檢測方面,mAP0.5和mAP0.5:0.95為89.59%和62.58%,較原始模型分別提升了4.24 和4.15 個百分點,單張圖片檢測時間為21.9 ms,滿足實時檢測的要求。當在主干網絡頂層引入C3ST 模塊時,由于Swin Transformer 編碼器獨特的跨窗口自注意力計算和相對位置編碼機制,增強了模型對空間位置信息的感知,提升了全局建模能力,有助于遮擋情況下關鍵點的有效檢測。當更換頸部網絡為RepGFPN 時,增強了不同尺度特征的高效融合,對密集關鍵點的預測有顯著提升,但參數量和檢測時間也有大幅增加,原因在于RepGFPN 網絡跨尺度的連接方式使得模型層數加深,預測過程前向傳播時間顯著增加。當使用金字塔卷積替換RepGFPN 中普通的3×3 卷積后,模型的參數量有小幅降低,且檢測精度有了一定提升,分析原因可知,金字塔卷積中采用了不同的內核大小和分組數,在增大感受野的同時利用組卷積的思想有效地降低了模型參數量。最后,添加坐標注意力機制進一步優化關鍵點解耦頭,通過將位置信息編碼到通道注意力中,提高網絡對于關鍵點位置的敏感程度,檢測精度有了進一步提升。綜上,改進后的模型在參數量和檢測時間上雖然有所增加,但檢測精度有了較大的提升。

為了更直觀體現改進后模型的有效性,選取暗光條件、輕度遮擋和重度遮擋三種駕駛情景,對檢測結果進行可視化。分析圖11a 可知,在暗光條件和輕度遮擋情況下駕駛員手腕、手肘以及右耳存在關鍵點漏檢現象,重度遮擋情況下駕駛員手腕、右膝以及右踝存在誤檢現象,而改進后的網絡在上述各場景下都具有良好的檢測效果。

圖11 改進前后模型檢測效果對比Fig.11 Comparison of model detection results before and after improvement

3.4 Swin Transformer 編碼器窗口大小對模型的影響

Swin Transformer 編碼器通過劃分非重疊的窗口來執行自注意力計算,在保證全局建模能力的同時提高了運算效率。為探究不同窗口大小對模型的影響,固定自注意力計算頭數,分別設置窗口大小為4、8、16 進行對比試驗,結果如表2 所示,分析可知:1)窗口劃分大小對模型參數量無影響。2)模型浮點運算量隨窗口大小的增大逐漸升高,且窗口越大,運算量提升約明顯。3)關于平均準確率mAP 值,隨著窗口大小不斷增加,mAP0.5和mAP0.5:0.95均有所提升,其中,mAP0.5分別提高0.85和0.26 個百分點,mAP0.5:0.95分別提高1.19 和0.27 個百分點,窗口大小設置為16 相比窗口大小設置為8 時提升效果不明顯。綜合各項指標,當窗口大小設置為8 時,模型綜合性能更優。

表2 編碼器窗口大小對模型的影響Table 2 Effect of encoder window size on the model

3.5 不同金字塔卷積層數對模型的影響

為驗證設置不同金字塔卷積層數時對模型性能的影響,分別設置層數為1、2、3、4 進行試驗,結果如表3。其中,當層數設置為1 時,即為標準3×3 卷積,此時模型參數量最少,浮點運算量最低,隨著金字塔層數的增加,平均準確率均呈上升趨勢,且模型參數量和浮點運算量逐漸減小,當設置金字塔卷積層數為4 時,模型準確率達到最優,mAP0.5和mAP0.5:0.95分別為87.64%和60.28%,相比原始網絡分別提升2.29、1.85 個百分點,說明融入金字塔卷積對模型精度產生了積極影響。分析原因可知,金字塔在特征提取方面較普通卷積有明顯優勢,其通過逐層增大卷積內核的方式來增大網絡感受野,避免了細節信息的缺失,在每個卷積核組中又分別使用不同大小的內核來適應不同尺度目標,并設置不同組數來避免參數量的陡增,結果表明,融入金字塔卷積在少量增加模型復雜度的前提下能有效地提升模型檢測精度。

表3 金字塔卷積層數對模型性能影響對比Table 3 Comparison of the impact of the number of pyramid convolution layers on model performance

3.6 不同檢測模型對比試驗

為了進一步驗證改進后的模型對駕駛員關鍵點的檢測效果,本研究選取當前主流基于熱力圖回歸的關鍵點檢測網絡進行對比試驗,對比的檢測算法有:Hourglass[28],HRNet-W32[29]以及DEKR[30],試驗結果如表4 所示。

表4 不同檢測模型性能對比Table 4 Performance comparison of different detection models

由表4 可知,改進后的YOLO-Pose 駕駛員關鍵點檢測算法mAP0.5達到最優,較Hourglass、HRNet-W32 以及DEKR 分別高出7.94、5.27、2.66 個百分點,且模型大小分別減少了257.5、8.2、9.3 M。DEKR 網絡的mAP0.5:0.95最高,較改進YOLO-Pose 高2.74 個百分點,其次為HRNet-W32,較改進YOLO-Pose 高0.9 個百分點,分析原因可知,HRNet 采用多分辨率子網的并行連接方式,通過執行重復的多尺度融合,使得網絡在整個過程都保持高分辨率表征,預測得到的關鍵點熱圖在空間上更精確,DEKR 采用自適應卷積和多分支獨立回歸結構,每個關鍵點的回歸單獨對應一個分支,二者在泛化性方面表現更好,但其在參數量方面均高于改進后的YOLOPose 算法,綜合考慮檢測精度與模型輕量化程度,改進后的YOLO-Pose 駕駛員關鍵點檢測算法表現出最好的檢測性能。

為更加直觀的反映各模型在實際場景下的檢測效果,選取不同自然場景下駕駛員操縱圖像,包括暗光、輕度遮擋和重度遮擋等難檢測情形,并使用類激活熱力圖對輸出層進行可視化分析,各模型檢測結果如圖12 所示。

圖12 不同網絡模型檢測效果示例Fig.12 Example of the detection effect of different network models

由圖12 可知,在暗光條件下,Hourglass、HRNet-W32、DEKR 和改進的YOLO-Pose 關鍵點檢測算法均表現出良好的檢測效果,在輕度遮擋和重度遮擋狀況下,Hourglass、HRNet-W32 和DEKR 存在關鍵點定位不準以及漏檢現象,而改進后的YOLO-Pose 檢測算法在上述復雜場景下依然保持較高的精度和魯棒性,其通過隱式學習各關鍵點之間的空間位置關系,即使處于重度遮擋情況也能有效地捕獲各關鍵點的位置信息。

4 結論

針對農田作業環境下拖拉機駕駛員因外界因素干擾而導致的關鍵點漏檢、誤檢及定位精度低的問題,本文提出了一種基于YOLO-Pose 模型改進的駕駛員關鍵點檢測算法,通過在自制的駕駛員數據集上進行訓練和測試,驗證了該算法的有效性。通過在主干網絡頂層引入C3ST 模塊,顯式地捕捉各關鍵點之間的空間關系,對遮擋狀況下關鍵點的預測有積極的影響。采用融合金字塔卷積的RepGFPN 網絡作為頸部網絡,有效地緩解了多尺度檢測效果欠佳的問題。通過嵌入坐標注意力機制優化關鍵點解耦頭,使模型在預測過程更加關注目標主體位置。結果表明,改進后的模型相比原模型mAP0.5(基于目標關鍵點相似度閾值為0.5 時的檢測精度)和mAP0.5:0.95(基于目標關鍵點相似度閾值為0.5,0.55,···,0.95 時的檢測精度)分別提升了4.24 和4.15 個百分點。

本文所提出的模型較當前主流的關鍵點檢測網絡綜合效果更優,能夠有效地改善模型在復雜場景下的檢測效果,尤其是駕駛員存在自遮擋和他物遮擋的情形,可為農田作業環境下駕駛員的行為識別和狀態監測提供一定的理論依據。但本文方法也存在不足之處,模型在檢測精度提高的同時伴隨著參數量增大、檢測速度變慢的情況,后續工作可從輕量化角度入手,在保證檢測精度的前提下進一步壓縮模型體積,提高在小型設備上的部署與應用。

猜你喜歡
關鍵點金字塔駕駛員
“金字塔”
基于高速公路的駕駛員換道意圖識別
駕駛員安全帶識別方法綜述
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
A Study of the Pit-Aided Construction of Egyptian Pyramids
海上有座“金字塔”
神秘金字塔
起步前環顧四周是車輛駕駛員的義務
醫聯體要把握三個關鍵點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合