















摘" 要: 人體姿態估計在計算機視覺、人機交互與運動分析等領域廣泛應用。當前人體姿態估計算法往往通過構建復雜的網絡來提高精度,但這帶來了模型體量和計算量增大,以及檢測速度變慢等問題。因此,文中提出一種基于Yolov7_Pose的輕量化人體姿態估計網絡。首先,采用輕量化CARAFE模塊替換原網絡中的上采樣模塊,完成上采樣工作;接著,在特征融合部分引入輕量化Slim?neck模塊,以降低模型的計算量和復雜度;最后,提出了RFB?NAM模塊,將其添加到主干網絡中,用以獲取多個不同尺度的特征信息,擴大感受野,提高特征提取能力。實驗結果表明,改進后網絡模型的GFLOPs和模型大小分別降低了約18.1%、22%,檢測速度提升37.93%,并在低光環境、小目標、密集人群和俯視角度下表現出了較好的性能。
關鍵詞: 人體姿態估計; Yolov7_Pose; 輕量化; 上采樣; CARAFE; Slim?neck
中圖分類號: TN911.1?34; TP391" " " " " " " " " " 文獻標識碼: A" " " " " " " " " "文章編號: 1004?373X(2024)23?0098?07
Lightweight human pose estimation network based on Yolov7_Pose
HUANG Jian, HU Fan, ZHAN Yue
(College of Communication and Information Engineering, Xi’an University of Science and Technology, Xi’an 710600, China)
Abstract: Human pose estimation is widely used in computer vision, human?computer interaction (HCI) and motion analysis. Current human pose estimation algorithms often improve accuracy by constructing complex networks, but this brings increased model size and computation, as well as slower detection speed. Therefore, this paper proposes a lightweight human pose estimation network based on Yolov7_Pose. A lightweight CARAFE module is used to replace the up?sampling module in the original network to complete the up?sampling first, and then a lightweight Slim?neck module is introduced in the feature fusion section to reduce the computation and complexity of the model. Finally, the RFB?NAM module is proposed and added to the backbone network for acquiring feature information at multiple different scales, expanding the receptive field, as well as improving the feature extraction capability. The experimental results show that the computational burden and model size of the improved network model have been reduced by about 18.1% and 22%, respectively, and its detection speed has increased by 37.93%. In addition, it shows better performance in low?light environments, detection of small objects, dense crowds, and perspective of overlooking.
Keywords: human pose estimation; Yolov7_Pose; lightweight; up?sampling; CARAFE; Slim?neck
0" 引" 言
人體姿態估計是計算機視覺領域的一個關鍵研究方向,通過機器學習和深度學習技術實現對人體姿態的精準識別和分析[1]。然而,隨著檢測精度的不斷提升,現有算法的復雜性也隨之增加,導致模型參數量和計算量急劇上升,難以滿足有實時性要求的任務。因此,如何輕量化人體姿態估計網絡,既要保證檢測精度,又要降低網絡的計算量以及提高檢測速度成為主要問題。人體姿態估計可分為單人人體姿態估計和多人人體姿態估計兩個方面[2]。
單人人體姿態估計指的是在一張圖片或視頻中檢測和識別單個人的身體姿勢或動作,并標注出各個關節點。文獻[3]提出了DeepPose網絡,首次采用深度神經網絡進行特征提取和關鍵點坐標回歸,但其精度不穩定,特別是在遮擋情況下,難以提供準確的檢測結果,而且網絡收斂速度較慢。文獻[4]提出了Hourglass網絡結構,通過堆疊多個Hourglass模塊逐步提取和整合特征。
多人人體姿態估計方法可以分為自頂向下和自底向上兩種[5]。
自頂向下方法首先利用目標檢測算法識別出每個個體,然后利用單人姿態估計方法對所有人進行姿態估計。該方法通常具有相對較高的姿態估計準確性,但其準確性與目標檢測器精度相關,并且檢測速度隨著人數增加而降低。文獻[6]提出了區域多人姿態估計網絡(RMPE),結合對稱空間變換網絡(SSTN)、參數化姿態非最大值抑制(NMS)和姿態引導的樣本生成器(PGPG),有效提高了關鍵點的檢測效果,但該網絡存在計算成本高和運行時間長的問題。文獻[7]提出了級聯金字塔網絡(CPN),通過GlobalNet金字塔網絡學習特征來解決遮擋和不可見關鍵點的檢測問題,利用基于困難樣本挖掘的RefineNet網絡解決難以檢測的關鍵點,但仍然存在計算成本高和耗時長的問題。文獻[8]提出高分辨率網絡(HRNet),該網絡通過并行連接這些特征圖來維持高分辨的信息,有效地提高了關鍵點的定位精度。然而,為了保持高分別率,使得模型的計算量增加。
自底向上方法是先檢測到圖像中所有人體關鍵點,然后通過聚類算法將關鍵點聚類到每個人。該方法不受檢測人數的影響,并且檢測速度相對恒定,但需要各種復雜的后處理來提高網絡精度。文獻[9]提出了OpenPose網絡,采用多階段的網絡結構,其中每個階段由兩個分支組成,分別用于熱圖估計和人體姿態關鍵點的組合。然而該網絡檢測速度較慢,難以滿足實時檢測任務需求。文獻[10]提出了PiPaf網絡,該方法使用部分強度場(PIF)定位身體部位,并使用部分關聯場(PAF)將身體部位與其他部位關聯起來形成完整的人體姿態,但該網絡結構復雜,導致了較高的計算量。綜上所述,如何在人體姿態估計網絡的精度和速度之間取得平衡,成為一個主要的研究方向。
本文針對現有算法的不足,提出了一種基于Yolov7_Pose的輕量化人體姿態估計網絡,具體內容包括:
1) 使用輕量化CARAFE模塊替換原網絡中的上采樣模塊,完成上采樣工作;
2) 使用輕量化Slim?neck模塊對特征融合部分進行改進,以進行網絡輕量化;
3) 提出了RFB?NAM模塊,將其添加在主干網絡中,用來獲取多個不同尺度的特征信息,擴大感受野,提高特征提取能力。
實驗結果表明,本文方法實現了人體姿態估計網絡的輕量化,同時在部分復雜條件下的人體關鍵點檢測具有較好的性能。
1" Yolov7_Pose網絡
Yolov7_Pose網絡是將Yolov7目標檢測和姿態估計結合在一起的端到端模型。該網絡包括四個主要部分,輸入端(Input)、主干網絡(Backbone)、頸部網絡(Neck)和檢測頭輸出端(Head)[11]。通過輸入端接收圖像數據并進行預處理,然后通過主干網絡提取圖像的特征,再通過頸部網絡將不同尺度的特征圖進行信息融合和特征增強,最后通過檢測頭輸出端生成目標檢測與關鍵點檢測的結果。Yolov7_Pose網絡結構如圖1所示。
2" 改進Yolov7_Pose網絡
2.1" 融合GSConv和VoV?GSCSP的Slim?neck模塊
Yolov7_Pose網絡是由標準卷積堆疊而成。在標準卷積中每個卷積核僅能提取一個特征圖,為了獲取更多特征,需要增加卷積核的數量,這將導致網絡體量的增加和檢測速度的降低[12]。因此,本文在特征融合部分引入了輕量化Slim?neck模塊[13],其基于GSConv模塊和VoV?GSCSP模塊。通過將原網絡Neck層中標準卷積替換為GSConv,再結合VoV?GSCSP模塊,以降低網絡的計算量,同時提高網絡的檢測速度。
2.1.1" GSConv卷積
GSConv卷積是一種用于目標檢測任務中的輕量化卷積模塊。GSConv的計算步驟如下。
1) 輸入特征先經過一個標準卷積,其輸出通道數變為輸入通道數的[12]。
2) 經過深度可分離卷積對每個通道獨立進行卷積。
3) 將普通卷積輸出與深度可分離卷積的輸出拼接。
4) 經過通道混洗操作重新排列通道特征,提高特征之間的信息流動。
5) 輸出的特征圖具有與輸入相同數量的通道。GSConv卷積操作過程如圖2所示。
2.1.2" VoV?GSCSP模塊
VoV?GSCSP模塊是一種利用一次性聚合方法設計的跨階段部分網絡模塊,旨在有效地融合不同階段的特征圖之間的信息。VoV?GSCSP網絡結構如圖3所示。VoV?GSCSP網絡中,采用GSConv替代傳統的卷積操作,并將兩個GSConv模塊串聯起來。本文利用VoV?GSCSP替換特征融合層中的C7_2模塊,對主干網絡提取的特征進行增強融合,以確保每個特征層能夠充分捕獲深層特征的語義信息和淺層特征的細節信息。
2.2" 輕量級上采樣算子CARAFE
在Yolov7_Pose網絡中,上采樣通常使用最鄰近插值法,基本原理是在目標圖像的每個像素位置,找到原始圖像中最接近的像素,并將其值賦予目標圖像對應位置。盡管這種方法實現簡單,但它只考慮最近的像素,而不考慮周圍像素的影響,這可能導致不能獲取更加豐富的語義信息。
本文針對最鄰近插值法的不足,使用輕量級上采樣算子CARAFE替換原網絡中的上采樣模塊。CARAFE模塊[14]是一種基于內容感知的特征重組上采樣方法,通過對輸入特征圖進行分塊處理,并利用卷積操作對每個分塊進行特征重組,從而增強感知范圍,融合更多的上下文信息。CARAFE模塊結構如圖4所示。CARAFE算子作為一種輕量化上采樣模塊,具有更高的參數效率,這使得在保持模型輕量化的同時具有更好的性能。
2.3" 融入NAM注意力的RFB模塊
2.3.1" NAM注意力模塊
基于歸一化的注意力模塊(NAM)[15]作為一種高效且輕量化的注意力機制,融合了CBAM模塊思想,對通道和空間注意力子模塊進行了重新設計。
在通道注意力模塊中,利用批歸一化(BN)的縮放因子,通過式(1)反映各個通道的變化大小,進而表示該通道的重要性。簡單來說,縮放因子類似于BN中的方差,方差越大表明通道變化越顯著,因此該通道中包含的信息也更為豐富和重要,而那些變化不大的通道則包含的信息較單一,重要性較小。
[Bout=BN(Bin)=γBin-μBσ2B+ε+β] (1)
式中:[μB]為最小批次的均值;[σB]為最小批次的方差;[γ]和[β]為可訓練的參數;[Bout]和[Bin]分別為輸出特征和輸入特征。
通道注意力模塊如圖5所示,該模塊的輸出計算公式如式(2)所示:
[Mc=sigmoidWγBN(F1)] (2)
式中:[Mc]表示輸出特征;[F1]表示輸入特征圖;[γ]是每個通道的縮放因子。
在空間注意力模塊中,同樣將BN中的比例因子應用于空間維度,以衡量每個像素的重要性,形成像素歸一化。空間注意力模塊如圖6所示,其輸出計算公式如式(3)所示:
[Ms=sigmoid(Wλ(BNs(F2)))] (3)
式中:[Ms]表示輸出特征圖;[F2]表示輸入特征圖;[λ]是縮放因子。
2.3.2" 融入NAM注意力的RFB模塊
Yolov7_Pose網絡主要由卷積、C7_1、C7_2、SPPCSPC以及其他模塊構建而成,盡管這些模塊提供了強大的特征提取能力,但在處理小尺寸目標時存在一些局限性。人體姿態估計任務中輸入圖像通常會包含小目標。針對小目標,網絡需要更精細的特征提取能力以準確地定位和識別目標,因此,本文引入RFB(Receptive Field Block)模塊,通過擴大感受野使模型可以在更廣泛的范圍內捕獲相關特征,從而對小目標的識別更加準確。
RFB模塊是通過模擬人類視覺的感受野來增強網絡的特征提取能力[16]。該模塊借鑒Inception網絡的多分支結構,并在此基礎上引入空洞卷積,通過增大空洞卷積的膨脹率,RFB模塊有效地擴大了感受野范圍。RFB模塊分別在三個分支上使用了1×1、3×3和5×5的卷積操作,隨后使用三個3×3卷積,分別設置膨脹率為1、3和5,以提取不同尺度的特征。接著,將三個不同尺度的分支進行有效特征拼接,并通過1×1卷積調節特征維度,實現了不同尺度特征融合。盡管RFB模塊通過多分支捕獲了多尺度的特征,但其缺乏區分和增強全局或局部重要特征的能力,也缺乏對冗余特征的抑制。為改善RFB模塊,本文在RFB模塊拼接操作前的每個分支上融入NAM注意力模塊,以增強重要特征的同時抑制冗余特征。改進后的RFB模塊稱為RFB?NAM,其結構如圖7所示。
在RFB?NAM模塊中,每個分支獲取的特征信息都會經過NAM模塊。NAM模塊能夠動態地調整不同位置特征的權重,從而捕捉更加豐富的上下文信息。通過學習,NAM賦予不同區域特征的不同權重,以便關注更主要的特征信息。總的來說,NAM模塊的融入不僅使網絡更專注于有用的特征,提高在姿態估計任務中關鍵點定位能力,還能減少不重要特征的計算,提高網絡的效率。
2.4" 改進后的網絡結構
本文在Yolov7_Pose的基礎上進行改進,以解決現有人體姿態估計網絡存在的問題。改進后的輕量化網絡結構如圖8所示。
3" 實驗結果及分析
3.1" 數據集
本文實驗采用的數據集是COCO2014數據集。該數據集主要用于目標檢測、分割任務和人體關鍵點檢測。在COCO2014數據集中,人體關鍵點檢測任務包括17個關節點的標注,涵蓋了鼻子、眼睛、耳朵、肩膀、手肘、臀部、膝蓋和腳踝等部位。
3.2" 實驗環境與評價指標
實驗環境采用Ubuntu 20.04系統,GPU為NVIDIA GeForce RTX 4060 Ti(16 GB),CPU為Intel[?] Xeon[?] CPU E5?2696 v3 @2.30 GHz ,配置環境為Python 3.9,PyTorch 1.13.1,CUDA 12.2。模型初始學習率為0.01,訓練批次大小為16,訓練總輪數為200。
實驗的主要評價指標有:平均精度(mean Average Precision, mAP)、計算量(GFLOPs)、速度(FPS)。準確率(Precision)、召回率(Recall)、mAP的計算公式如下:
[Precision=TPTP+FP] (4)
[Recall=TPTP+FN] (5)
[mAP=i=1NAPiN] (6)
式中:TP(True Positive)表示被正確劃分為正例的個數;FP(False Positive)表示被錯誤劃分為正例的個數;FN(False Negative)表示被錯誤劃分為負例的個數。
3.3" 消融實驗
為了驗證每種改進點對網絡模型的增益,本文在COCO2014數據集上進行消融實驗,采用Yolov7_Pose作為基礎模型,并逐步對其進行改進。實驗過程中保持了參數和環境的一致性,所有輸入圖片大小均為640×640。實驗結果如表1所示。
根據表1的實驗結果:輕量化CARAFE模塊的引入,模型的mAP值提高約0.22%,但模型大小只降低約0.25%;接著,加入輕量化Slim?neck模塊,mAP值降低約0.75%,但GFLOPs變為82.3,降低約19.47%,模型大小變為124.4 MB,降低約22.78%;最后,引入RFB?NAM模塊,mAP值降低約0.32%,但GFLOPs變為83.7,降低約18.1%,模型大小變為125.7 MB,降低約22%。
綜上所述,通過對Yolov7_Pose網絡的改進,在保持精度影響不大的情況下,實現了計算量和模型體量的顯著降低,達到了網絡輕量化的目的。
3.4" 不同算法對比
為檢驗本文算法模型的有效性,在相同數據集和實驗環境下,將本文方法與其他主流算法進行對比實驗。使用mAP和FPS作為評估指標,輸入圖像大小為640×640。實驗結果如表2所示。根據實驗結果,本文算法相比于基礎算法Yolov7_Pose,在精度上略微下降,但檢測速度提高了約37.93%。同時,與其他算法相比,本文算法在檢測精度和檢測速度上都優于其他算法。
3.5" 姿態估計檢測效果對比
為了驗證改進后算法模型的效果,選擇了在部分復雜條件(低光環境、小目標、密集人群和俯視角度)下進行改進前后的網絡模型效果對比,檢測結果如圖9 所示。
圖9a)是在低光環境中,原網絡未能檢測到躺著的男子,并且對蹲著的兩位男子的腿部關鍵點也未能檢測到。而改進后的網絡不僅檢測到了躺著的男子,還成功檢測到了蹲著的兩位男子的腿部關鍵點。圖9b)是在小目標條件下,可以看出原網絡的檢測效果不佳,只檢測到了兩個人,而改進后的網絡檢測到圖像中所有小目標人體的關鍵點,體現出了模型對小目標檢測有較好的性能。圖9c)是在密集人群中,相比于原網絡,改進后的網絡能夠更好地檢測出圈中被遮擋男子的關鍵點。圖9d)是在俯視角度條件下,原網絡對圖中左下角坐著的男子未檢測到,并對已檢測出的兩位男子的關鍵點檢測不完整,而改進后的網絡,不僅檢測出了左下角坐著的男子,而且比較完整地檢測到三位男子的關鍵點。綜上所述,在輕量化的基礎上,本文算法能夠在部分復雜條件下較好地檢測出人體關鍵點位置,證明了本文算法模型具有較好的性能。
4" 結" 語
本文針對人體姿態估計網絡模型大小與計算量大的問題,提出基于Yolov7_Pose的輕量化人體姿態估計網絡。首先,使用輕量化上采樣算子CARAFE替代了原網絡中的上采樣操作,在不影響精度的情況下略微地降低了模型參數;其次,在特征融合部分引入融合GSConv與VoV?GSCSP的Slim?neck模塊,顯著降低了模型大小與計算量;最后,在主干網絡中引入RFB?NAM模塊來獲取多個不同尺度的特征信息,擴大感受野,提高特征提取能力,增強對小目標的檢測能力。實驗結果表明,改進后的網絡模型大小和計算量明顯降低,檢測速度明顯提高,同時保證了模型的準確度,并在復雜條件(低光環境、小目標、密集人群和俯視角度)下改進后的網絡模型表現出了較好的性能,這在實際應用中具有一定的優勢,如將輕量化模型部署到嵌入式設備中。
注:本文通訊作者為胡翻。
參考文獻
[1] 張國平,馬楠,貫懷光,等.深度學習方法在二維人體姿態估計的研究進展[J].計算機科學,2022,49(12):219?228.
[2] 喬迤,曲毅.基于卷積神經網絡的2D人體姿態估計綜述[J].電子技術應用,2021,47(6):15?21.
[3] TOSHEV A, SZEGEDY C. DeepPose: Human pose estimation via deep neural networks [C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2014: 1653?1660.
[4] NEWELL A, YANG K Y, DENG J. Stacked hourglass networks for human pose estimation [C]// Proceedings of European Conference on Computer Vision. Heidelberg: Springer, 2016: 483?499.
[5] 曾文獻,馬月,李偉光.輕量化二維人體骨骼關鍵點檢測算法綜述[J].科學技術與工程,2022,22(16):6377?6392.
[6] FANG H S, XIE S Q, TAI Y W, et al. RMPE: Regional multi?person pose estimation [C]// IEEE International Conference on Computer Vision. New York: IEEE, 2017: 2353?2362.
[7] CHEN Y L, WANG Z C, PENG Y X, et al. Cascaded pyramid network for multi?person pose estimation [C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). New York: IEEE, 2018: 7103?7112.
[8] SUN K, XIAO B, LIU D, et al. Deep high?resolution representation learning for human pose estimation [C]// IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2019: 5693?5703.
[9] CAO Z, HIDALGO G, SIMON T, et al. OpenPose: Realtime multi?person 2D pose estimation using part affinity fields [J]. IEEE transactions on pattern analysis and machine intelligence, 2021, 43(1): 172?186.
[10] KREISS S, BERTONI L, ALAHI A. PifPaf: Composite fields for human pose estimation [C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR 2019). New York: IEEE, 2019: 11977?11986.
[11] WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag?of?freebies sets new state?of?the?art for real?time object detectors [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2023: 7464?7475.
[12] 張曉晨.煤礦井下行人檢測方法研究及應用[D].太原:太原科技大學,2023.
[13] LI H L, LI J, WEI H B, et al. Slim?neck by GSConv: A better design paradigm of detector architectures for autonomous vehicles [EB/OL]. [2024?10?06]. https://doi.org/10.48550/arXiv.2206.02424.
[14] WANG J Q, CHEN K, XU R, et al. CARAFE: Content?aware ReAssembly of features [J]. 2019 IEEE/CVF International Conference on Computer Vision. New York: IEEE, 2019: 3007?3016.
[15] LIU Y C, SHAO Z R, TENG Y Y, et al. NAM: Normalization?based attention module [EB/OL]. [2021?11?26]. https://arxiv.org/abs/2111.12419.
[16] LIU S T, HUANG D, WANG Y H. Receptive field block net for accurate and fast object detection [C]// 15th European Conference on Computer Vision. Heidelberg: Springer, 2018: 404?419.
[17] CHENG B W, XIAO B, WANG J D, et al. HigherHRNet: Scale?aware representation learning for bottom?up human pose estimation [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2020: 5385?5394.
[18] NEFF C, SHETH A, FURGURSON S, et al. EfficientHRNet: Efficient scaling for lightweight high?resolution multi?person pose estimation [EB/OL]. [2020?07?22]. https://arxiv.org/abs/2007.08090.
作者簡介:黃" 健(1977—),男,陜西西安人,副教授,碩士生導師,研究領域為深度學習和計算機視覺。
胡" 翻(1999—),男,陜西西安人,碩士研究生,研究領域為圖像處理。
展" 越(2000—),女,山東濟寧人,碩士研究生,研究領域為圖像處理。