999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

融合自我知識蒸餾和卷積壓縮的輕量化人體姿態估計方法

2024-02-27 09:02:14閆忠心李陶深
小型微型計算機系統 2024年2期
關鍵詞:關鍵點特征模型

閆忠心,白 琳,李陶深

(廣西大學 計算機與電子信息學院,南寧 530004)

0 引 言

人體姿態估計(Human Pose Estimation,HPE)作為計算機視覺領域的基礎任務之一,被廣泛應用于人體行為識別、人與物體交互活動識別、人機交互等.人體姿勢估計的目的在于給定一張RGB圖像識別和定位出所有的人體各個關鍵點(比如手腕、肘、頭部等).Deeppose[1]模型第一次使用卷積神經網絡對關鍵點位置直接進行回歸預測,相比于傳統基于圖結構模型[2-4](Pictorial Structure Module,PSM)的人體姿勢估計算法展現出巨大的優越性,自此以深度卷積神經網路為代表的人體姿勢估計算法(例如Stack Hourglass[5]、OpenPose[6]、SimpleBaseline[7]、HRNet[8]等)成為主流.然而上述最先進的人體姿勢估計算法為了追求更高的準確率,往往模型參數和浮點數計算量龐大,對于資源受限的邊緣移動設備來說很難實際部署.為了降低模型計算成本,在網絡結構上以MobileNet[9]、ShuffleNet[10]為代表的輕量化網絡結構大幅度降低了模型參數和計算量.Bulat等人[11]通過二值化網絡的方式轉化模型結構,大幅度壓縮了模型參數和部署成本,但是模型準確率較差.FPD[12]模型通過離線知識蒸餾的方式來訓練學生網絡,然而訓練教師網絡的過程成本較高,并且如何選擇一個合適的教師網絡也是一個難題.Mirzadeh[13]等人的研究表明,當教師模型和學生模型性能差異過大時,離線蒸餾得到的學生模型效果并不一定好.

為了保持人體姿態估計網絡較高檢測精度的同時大幅度降低模型參數和浮點數計算量,本文提出了SKDPose模型,模型結構如圖1所示.首先對于特征編碼器模塊(Encoder),設計了協同注意力移動倒置瓶頸模塊(CAMBConv)得到改進后的EfficientNet[14]特征編碼器,用于提取多層次語義特征;接著,設計了輕量化跨尺度雙向融合模塊(BFL-FPN)用于融合編碼器的不同層次的語義信息;最后,把融合后的多層次信息劃分為3個獨立的分支,每個分支使用獨立的解碼器進行人體關鍵預測,最深層次的解碼器作為教師模型其余解碼器作為學生模型完成知識的自我蒸餾;此外,針對解碼器模塊的普通轉置卷積參數量過大的缺點,設計了深度可分離轉置卷積大幅度降低了解碼器模塊的參數量.在COCO和MPII數據集上實驗結果表明,SKDPose模型在保持高準確率的同時大幅度降低了模型參數和計算量.

圖1 基于自我知識蒸餾和卷積壓縮的輕量化人體姿態估計網絡Fig.1 Lightweight human pose estimation network based on self-knowledge distillation and convolution compression

本文的主要貢獻如下:

1)根據文獻可考,本文是第一個把自我知識蒸餾用于輕量化人體姿態估計算法研究.

2)針對特征編碼器的MBConv模塊缺乏空間注意力的缺陷,設計了協同注意力移動倒置瓶頸模塊(CAMBConv),提高了編碼器的特征提取能力.

3)提出了輕量化上采樣解碼器模塊(DSTC),相比于原始的上采樣解碼器,DSTC模塊大幅度降低了解碼器的參數量.

4)提出了輕量化跨尺度雙向融合模塊(BFL-FPN),可以作為即插即用的模塊應用于任何輕量化骨干網路的多尺度特征融合.

1 相關工作

1.1 人體姿態估計

傳統的人體姿態估計主要基于圖結構表示人體各個關鍵點之間的關系,但是圖結構依賴于手工設計的人體姿態特征比如方向梯度直方圖[15](Histogram of Oriented Gradient,HOG),這直接導致了圖結構模型的泛化性很差,很難達到商用的地步.隨著深度學習的快速發展,2014年Toshev等人首次提出基于卷積神經網絡的DeepPose模型直接回歸人體關鍵點坐標,性能超越了經典的圖結構方法,之后主流的人體姿勢估計模型均采用神經網絡架構.根據預測人體關鍵點坐標的方式可以分為兩大類,直接坐標回歸和熱力圖(Heatmap),直接坐標回歸方法通過深度神經網絡回歸出關鍵點的坐標位置,熱力圖是通過預測一個近似高斯分布的概率圖間接得到關鍵點的位置坐標.根據人體關鍵點檢測網絡的架構來分,可以分為兩大類,分別是自頂向下(Top-Down)和自底向上(Bottom-Up).自頂向下的方法通常采用先進的人體目標檢測器,例如Faster R-CNN[16]、Yolo[17]等從目標圖像中檢測出單個人,然后從原始圖像中裁剪出單個邊界框送入到單人姿態估計網絡中進行人體關鍵點估計,常見的自頂向下的方法有SimpleBaseline、HRNet等.相反,自底向上的方法不需要使用人體目標檢測器,而是直接從RGB圖像中推斷出所有的關鍵點信息,然后對每個關鍵點進行分類和分組到不同的人體實例中,常見的自底向上的算法有OpenPose、Higherhrnet[18].Top-Down算法是人體關鍵點檢測中精度最高的架構,缺點是檢測速度慢,Bottom-Up算法的優點是推理速度快,缺點是精度相較于Top-Down差一些.

上述最先進的人體姿態估計算法為了追求更高的預測性能,通常設計更深、更寬的卷積神經網絡.雖然這些網絡性能優越,但是帶來的問題是參數量和浮點運算過于龐大,導致模型部署時占用的內存更多,模型推理時間更長,因此對于資源受限的邊緣設備比如手機、嵌入式系統等,上述網絡模型很難實際部署.

受到卷積壓縮和自我知識蒸餾的啟發,本文設計一種基于卷積壓縮和知識自我蒸餾的輕量化人體姿態估計網絡,同時兼顧了模型的準確性和模型復雜度.具體來說,通過設計高效且輕量的CAMBConv和DSTC模塊,大幅度降低編碼器和解碼器參數和計算量;設計輕量化跨尺度雙向融合模塊用于融合解碼器的不同層次語義特征;提出基于多分支架構的自我知識蒸餾方法,提升模型的性能.

1.2 卷積壓縮

表1 標準卷積和深度可分離卷積Table 1 Standard covolution and depthwise separable convolution

1.3 知識蒸餾

知識蒸餾作為一種常見的模型壓縮技巧,2015年由Hinton教授等人[21]第1次正式定義了知識蒸餾(Knowledge Distillation,KD)并且提出了對應的蒸餾監督訓練方法.簡單而言,知識蒸餾第1步是訓練一個網絡規模龐大、性能優越的教師網絡(Teacher Network);第2步,利用強大的教師網絡和真實標簽同時作為模型監督信號,完成從教師網絡到學生網絡(Student Network)的暗知識(Dark Knowledge,DK)轉移,使得學生網絡表現性能接近教師網絡.為了實現人體關鍵點檢測模型的壓縮,FPD模型第一次把知識蒸餾應用在了人體關鍵點檢測模型上,該模型借鑒Hinton教授提出的離線知識蒸餾(0ff Line Knowledge Distillation,OLKD)設計思想,首先訓練了一個8層堆疊沙漏(8-Stack Hourglass)為教師網絡,然后利用訓練好的教師模型通過知識轉移的方式訓練4層堆疊沙漏(4-Stack Hourglass),使得學生模型的人體姿態估計性能接近教師模型性能,但是學生模型的參數量和GFLOPs遠低于教師模型,因此學生模型充分考慮了模型的效率問題.但是FPD模型缺點很明顯,這是一個兩階段實現DK轉移的過程,即第1個階段單獨訓練龐大的教師網絡,在第2個階段利用教師網絡輔助訓練學生網絡,因此模型總體訓練成本為教師網絡訓練成本加上學生網絡訓練成本.Mirzade等人的研究表明,OLKD的知識轉移過程中并不是越強大的教師網絡一定能教出更優秀的學生網絡,當教師網絡和學生網絡的性能差異過大時候,基于OLKD訓練的學生模型的性能并不好.Zhang[22]等人提出自我知識蒸餾(Self-Knowledge Distillation,SKD),與傳統的OLKD不同的是,在模型訓練階段SKD把淺層次的網絡作為學生,深層次網絡作為教師,在單一網絡內部完成知識從教師到學生的轉遞,在模型部署階段只保留單個教師或學生模型,SKD方法在訓練時間和準確率上都優于OLKD方法.如圖1所示,為了解決FPD存在的問題,受到SKD設計思想的啟發,本文設計了多分支的解碼器結構.具體來說,對于輕量化跨尺度雙向融合后的3個特征,使用3個獨立的上采樣解碼器模塊進行特征解碼,其中分支1、2、3同時接受真實熱力圖(GroundTrues HeatMap,GTHM)的監督,除此之外分支1、2在訓練階段需要接受教師網絡分支3輸出特征圖的監督.

2 本文方法

本文提出SKDPose模型如圖1所示,其設計思路是:采用輕量化的編碼器提取多層次語義特征,用多個獨立的輕量化解碼器對不同層次特征圖進行解碼,之后通過多尺度特征融合和知識蒸餾提高解碼效率.

SKDPose模型的處理流程包含4個階段.第1階段使用輕量化特征編碼器提取人體圖像的多層次語義特征;第2階段使用輕量化跨尺度特征融合模塊對第1階段的多層次語義特征進行雙向融合;第3個階段對第2個階段融合后的特征使用3個獨立分支的解碼器結構對不同層次語義特征進行解碼,每個解碼器都可以獨立進行人體關鍵點預測;第4個階段每個分支解碼器輸出結果同時接受GTHM的監督,除此之外分支1、2解碼器還要接受分支3的輸出特征監督.

模型整體可以被拆分為4個模塊:

1)輕量化特征編碼器:圖1中Encoder模塊是基于EfficientNet改進的多層次特征提取編碼器,用于提取不同分辨率語義特征.

2)輕量化上采樣解碼器:為了降低解碼器模塊的參數量和浮點數計算量,設計了基于深度可分離轉置卷積和協同注意力機制的輕量化上采樣解碼器(DSTC).

3)輕量化跨尺度雙向融合:人體關鍵點檢測屬于位置敏感型的密集預測任務,不同層次語義特征對于位置預測均有作用,針對人體關鍵點檢測本文設計了高效且輕量的特征融合模塊(BFL-FPN).

4)知識自我蒸餾:3個獨立的解碼器,其中分支3作為教師網絡分支1和分支2作為學生網絡,在SKDPose模型內部完成知識的傳遞.

2.1 改進EfficientNet模型

EfficientNet的主要組成模塊MBConv中就使用了SE[23]模塊來加強通道注意力特征的提取,SE模塊存在的問題是只關注了局部的通道級別的注意力,缺乏全局依賴捕捉和空間位置注意力的獲取.本文通過對MBConv引入協同注意力機制得到協同移動倒置瓶頸卷積模塊(Coordinate Attention Mobile Inverted Bottleneck Convolution,CAMBConv),協同注意力移動倒置瓶頸卷積模塊如圖2所示.CAMBConv模塊旨在增強輕量級網絡的特征學習能力,輸入可以是任何中間層特征X=[x1,x2,x3,…,xc]∈RC×H×W,協同注意力模塊首先對輸入特征的寬和高兩個方向維度使用平均池化,結果分別是X-Avg、Y-Avg,產生兩個具備方向特征感知的注意力權重.然后對X-Avg,Y-Avg進行Concat操作,之后使用1×1卷積和BatchNorm進行通道級特征壓縮,最后利用Split和1×1卷積分別進行X,Y維度特征分割和特征通道提升,類似殘差跳躍模塊,使用X,Y兩個方向的注意力權重乘以原始的特征輸出得到最終的協同注意力特征Y=[y1,y2,y3,…,yc]∈RC×H×W.通過協同注意力機制解決了原始MBConv模塊缺乏空間注意力和長范圍依賴的問題.協同注意力(Coordinate Attention,CA)見圖2的Attention模塊所示.

圖2 協同注意力移動倒置瓶頸模塊Fig.2 Coordinate attention MBConv model

改進后的EfficientNet模型結構如表2所示.其中Stage表示階段;CAMBConv1,k3×3的1表示CAMBConv的PW卷積通道擴充比例,3×3表示DW卷積核大小;Resolution表示輸入特征圖分辨率;Channels表示輸出特征圖通道數;Layers表示當前模塊重復次數.

表2 改進EfficientNet網絡結構Table 2 Improved EfficientNet network structure

2.2 輕量化上采樣解碼器

表3 實驗軟硬件環境Table 3 Experimental software and hardware environment

表3 標準轉置卷積和深度可分離轉置卷積Table 3 Standard transpose covolution and depthwise separable transpose convolution

(1)

(2)

式(1)和式(2)分別為使用深度可分離轉置卷積后DSTC模塊參數量和浮點數計算量的壓縮比例,其中符號代表的含義和表3相同,DSTC模塊轉置卷積核K大小為4,并且特征圖的輸出通道數Co遠大于K,且Ci是Co的兩倍,因此公式1和2的最終約等于1/16,DSTC模塊相比于標準轉置卷積來說,在參數量和FLOPs減少了94%.

本文的解碼器的DSTC模塊把標準轉置卷積分成了3步,首先利用深度轉置卷積對原始特征的每一個通道進行單獨卷積運算,其次利用1×1點卷積融合每個通道的輸出結果,在這個過程中可能丟失了部分空間維度和通道維度特征,為了解決這個問題.本文最后在1×1點卷積之后加入了協同注意力模塊,在空間維度、通道維度和長距離范圍依賴上增強DSTC的特征解碼能力.SimpleBaseLine中上采樣模塊輸出通道數維持在256,為了進一步對上采樣模塊進行壓縮,本文對上采樣通道數也進行了壓縮.

2.3 輕量型跨尺度多層次語義特征融合

現有的人體姿態估計網絡通常采用串行高分辨率和低分辨率網絡實現特征提取,比如Stack Hourglass,但是缺乏不同層級分辨率特征圖的融合.FPN(Feature Pyramid Networks)[24]網絡作為一種有效的特征融合網絡,主要解決了在目標檢測過程中的目標多尺度問題,顯著的提升了小目標檢測的性能.

受到FPN的啟發,針對人體關鍵點檢測模型來說,本文提出輕量化跨尺度雙向融合模塊(Bidirectional Fusion Lightweight FPN,BFL-FPN),BFL-FPN模塊見圖3所示.整體思路是首先進行高級語義特征向低級語義特征進行融合,然后從低級語義特征向高級語義特征進行融合.具體來說對于本文的三分支解碼器,編碼器的中間3層特征圖CAMBConv_1、CAMBConv_2、CAMBConv_3分別尺寸為,Feature1=C1×32×32,Feature2=C2×16×16,Feature3=C3×8×8.首先進行高層次語義信息向低層次語義信息進行流動,利用PW卷積,統一調整3個特征圖通道數為256,然后分別對Feature3上采樣后相加到Feature2,Feature2上采樣之后相加到Feature1中.其次使用DWA_1模塊分別對自上往下融合結果進行特征通道壓縮.最后低層次語義信息向高層次語義信息進行流動,對Branch1,Branch2使用DWA_2模塊進行降采樣后分別添加到Branch2和Branch3,這樣就完成了自底向上的語義特征信息流動,其中DWA_1、DWA_2分別表示DWC模塊步長為1、2,DWA模塊的結構首先使用深度可分離卷積DWC、然后使用CA注意力機制最后使用點卷積PWC,其中中間層使用批標準化.整個BFL-FPN模塊參數量只有原始雙向融合FPN網絡的十分之一,同時BFL-FPN保持較高的特征融合性能.

(3)

圖3 輕量化跨尺度雙向融合Fig.3 Bidirectional fusion lightweight FPN

(4)

式(3)和式(4)分別為使用深度可分離卷積后浮點數計算量和參數量的壓縮比例,式中符號代表的含義和表1相同,BFL-FPN的卷積模塊的輸入輸出特征圖尺寸一樣,本文卷積核K大小為3,并且特征圖的輸出通道數Co遠大于K,因此公式(3)、(4)最終約等于1/9,BFL-FPN模塊相比于標準卷積來說,參數量和FLOPs減少了8/9.

2.4 知識自我蒸餾模塊

知識蒸餾作為一種有效的模型壓縮方式,傳統的離線蒸餾是一個兩階段的訓練方法,先訓練一個龐大的教師網絡.受到Zhang等人的啟發,本文把SKD思想用于輕量化人體姿勢估計網絡,在編碼器進行下采樣的CAMBConv_1、CAMBConv_2、CAMBConv_3產生的特征經過BFL-FPN融合之后的特征圖Branch1=C1×32×32,Branch2=C2×16×16和Branch3=C3×8×8.Branch1、Branch2和Branch3分別使用1、2、3個輕量化反卷積解碼器(DSTC)對特征圖進行解碼,其中每個DSTC模塊的可分離轉置卷積的卷積核大小和卷積步長分別為4和2.第1個分支的DSTC模塊輸出通道數為64;第2個分支的DSTC模塊的輸出通道數分別是128和64;第3個分支的DSTC模塊的輸出通道數分別是256、128、64.3個分支解碼后的特征圖使用3個獨立的熱力圖回歸模塊進行獨立預測.實際測試階段選擇3個解碼器中準確度最高的解碼器作為最終的預測結果,其余解碼器模塊從網絡結構中刪去.對于每個人體關鍵點k∈{1,2,…,K}使用高斯熱力圖表示人體關鍵點位置,熱力圖使用的高斯函數如式(5)所示,式(5)中所有參數遵循主流模型(例如Simplebaseline模型)的標準配置:

(5)

(6)

訓練階段深層次解碼器3作為教師模型輸出,解碼器1和2作為學生模型,使用KL(Kullback-Leibler)離散度作為自我知識蒸餾的損失函數.對教師模型和學生模型輸出熱力圖的每個像素都執行KL離散度計算,最終自我知識蒸餾的損失函數公式(7)所示:

(7)

式(7)中W,H分別代表解碼器預測熱力圖的長、寬,本文在MPII數據集設置W和H均為64,COCO數據集設置W為64,H為48.K表示單張RGB圖像中人體關鍵點個數,T表示學生模型個數,本文T為2.本文的自我蒸餾SKD模型的總損失如公式(8)所示:

Losstotal=Lossmse+αLossSKD

(8)

式(8)中α是平衡兩種損失的超參數,本文設置α大小為100,Lossmse是每個解碼器和真實熱力圖之間的均方差MSE損失,LossSKD是學生模型和教師模型之間的KL離散度蒸餾損失.

3 實驗過程

3.1 實驗軟硬件環境和模型參數設置

為了驗證本文模型的有效性,在COCO[25]和MPII[26]兩個數據集上進行了對比試驗和消融實驗,實驗的軟硬件環境如表3所示.

本文的算法模型使用開源深度學習開發框架PyTorch實現,在兩張Tesla V100圖形處理器(Graphics Processing Unit,GPU)上訓練,單張顯卡顯存為16G,訓練階段采用Adam優化器,每一批次數據大小為32,初始優化器學習率為0.001,迭代到110、170時學習率衰減為原來的1/10,迭代訓練200個epoch.

3.2 實驗數據集和評價指標

MPII數據集定義了人體16個關鍵點的位置,從真實人類活動中采集25000張人體圖片,包含了超過40000個人體標簽.其中29000個人體實例用作訓練樣本,2900個人體實例用于驗證樣本.COCO數據集有超過200000張圖片,包含了2500000個人體實例,每個人體實例標注了17個人體關鍵點,人體姿態估計模型在COCO Train2017數據集上進行訓練,使用COCO val2017數據集用于驗證模型性能.訓練階段從輸入圖像中裁剪出人體目標框,并且按照檢測框長寬比4∶3進行縮放,MPII數據集中把裁剪后的人體目標框統一縮放到256×256尺寸,COCO數據集中把裁剪后的人體框統一縮放到256×192尺寸.每個人體實例圖片都進行數據增強,首先對人體實例進行[-30°,30°]角度隨機旋轉、[0.7,1.3]范圍隨機縮放和以及水平翻轉.

對于MPII數據集,本文采用通用的正確關鍵點的百分比(Percentage of Correct Keypoints,PCK)作為評價指標,模型預測的人體關鍵點的坐標和真實坐標像素距離之差小于alr則認為預測正確,其中α閾值為0.5,lr參考的是人體目標檢測頭部框對角線的長度,本文采用標準的PCKH@0.5作為評價性能指標.對于COCO數據集,本文采用基于目標關鍵點相似度(Object Keypoint Similarity,OKS)的平均精度(Average Precision,AP)和平均召回率(Average Recall,AR)作為模型性能評價指標.

在測試階段,對于COCO數據集,采用標準的兩階段測試方法,先使用人體目標檢測器檢測人體框,然后對單個人進行人體關鍵點檢測.對于MPII數據集,本文采用標準的測試方法,首先進行水平翻轉圖形,原始圖像的預測熱力圖和翻轉后的圖像對應預測的熱力圖進行平均作為最終的熱力圖.對于人體關鍵點熱力圖的估計,本文采用熱力圖數值最大位置向次大數值位置偏移四分之一作為最終的預測位置.

3.3 實驗結果分析

3.3.1 MPII數據集實驗結果

表4顯示了在MPII數據集上,本文的SKDPose模型和最先進的人體關鍵點檢測模型以及經典的輕量化人體關鍵點檢測模型對比結果.從結果中可以明顯看出,SKDPose模型在模型性能、模型參數量和浮點數計算量中取得了極具競爭力的效果.相比于大型網絡SimpleBaseline-50來說,在模型參數和FLOPs分別減少了88%和95%,但是準確率只降低了0.7%.與最先進的HRNet-32相比,模型參數和FLOPs上分別減少了85%和93%,但是模型的準確率只降低了2.7%.SimpleBaseline和HRNet重點追求模型的準確性,在網絡結構上沒有引入輕量化模型壓縮技術,SKDPose模型在編碼器和解碼器等模塊借鑒了移動端網絡結構設計,同時兼顧模型準確率和模型復雜度.SKDPose和輕量化人體姿勢估計模型FLPN-50[27]相比,PCKH@0.5模型精度指標上相同,但是SKDPose在模型參數和FLOPs進一步降低了58%和40%.SKDPose和MobileNetV2、MobileNetV3、ShuffleNetv2、FPD*[12]等模型相比,SKDPose模型以4.2M的模型參數量和0.66G的浮點數運算量,在模型準確率PCKH@0.5指標上達到了87.8,以更低的模型參數量和浮點數運算量完成了更高模型準確率.相比于MobileNetV2、MobileNetV3、ShuffleNetv2、FPD*模型在PCKH@0.5性能指標上分別提升了1.9、3、4.4和0.2個點.上述輕量化模型相比于SKDPose模型缺乏編碼器的多尺度特征融合,僅使用高級語義特征,忽略低級語義特征對密集預測任務的重要性.圖4顯示了SKDPose和其余輕量化人體姿勢估計模型在模型準確率和模型參數量的直觀對比.FPD*模型為離線蒸餾人體關鍵點檢測模型,雖然FPD*模型參數比SKDPose模型少,但是FPD*模型的訓練成本極高,SKDPose模型屬于自我知識蒸餾,在單一模型內部進行知識的傳遞,因此SKDPose模型在模型性能和模型訓練成本上整體是優于FPD*.

表4 在MPII驗證集上的模型定量比較Table 4 Quantitative comparison of models on MPII validation set

圖4 MPII驗證集上模型參數量和準確率對比Fig.4 Model complexity and accuracy comparison on the MPII validation set

整體來說,在網絡結構上SKDPose模型充分借鑒了移動端小型網絡的設計思想,根據公式(1)~公式(4),通過在編碼器的多尺度特征融合模塊引入深度可分離卷積,解碼器模塊采用了深度可分離轉置卷積,從而大幅度降低了SKDPose模型的參數量和浮點數計算量.為了彌補由于上述模型壓縮帶來的性能下降,SKDPose模型在編碼器和解碼器模塊都引入了協同注意力機制,增強了輕量化模型特征表達能力.在模型訓練方法上,SKDPose利用了自蒸餾的思想,在單一網絡內部完成知識的蒸餾傳遞,在幾乎不增加模型訓練成本和部署成本的前提下,避免了模型過擬合,提高了模型的泛化能力,實現了輕量化模型性能的提升.根據實驗數據和可視化效果來看,SKDPose在模型復雜度和模型準確率上具備極大的優勢,在資源受限的邊緣設備上應用前景廣闊.

3.3.2 COCO數據集實驗結果

表5顯示在COCO數據集上,SKDPose在不使用ImageNet圖像分類的預訓練權重的情況下和最先進的人體姿態估計網絡以及輕量化人體姿態估計網絡的性能對比結果.從對比結果可以看出,SKDPose模型在模型性能、模型參數量和浮點數計算量中取得了極具競爭力的效果.對于輸入圖像分辨率為256×192,在無ImageNet預訓練權重的情況下,SKDPose以0.41GFLOPs極低的計算量和4.2M較少的參數量,平均精度達到69.8.SKDPose相比于大型網絡SimpleBaseline-50來說,在模型參數和FLOPs分別減少了88%和95.4%,但是模型準確率只降低了0.8%.相比于經典的堆疊沙漏網絡,在參數和浮點數上分別減少了83%和97%,但是模型準確率提升了2.9個點.相比于CPN[28]網絡,SKDPose模型的參數和浮點數分別減少了85%和91%,但是模型精度提升了1.2個點.圖5顯示了SKDPose模型和其余輕量化模型在準確率和GFLOPs上的直觀對比結果.從圖中可以看出,SKDPose模型相比于MobileNetV2、ShuffleNetV2、DY-MobileNetV2和FLPN-50模型,在浮點數運算量上分別下降了72%、67%、58%、62%,在模型準確率上分別上升了5.2、9.9、1.6、-1.5個點.SKDPose沒有在ImageNet上進行預訓練,因此相比于使用預訓練權重的FLPN-50性能上略有降低.圖6顯示了SKDPose模型在MSCOCO數據集上的可視化效果圖,從圖中可以看到SKDPose模型對單人或者多人多物有遮擋的情況都可以有效檢測出人體姿態.

表5 在COCO驗證集上的模型定量比較Table 5 Quantitative comparison of models on COCO validation set

圖5 COCO驗證集上模型浮點數計算量和準確率對比Fig.5 Model GFLOPs and accuracy comparison on the COCO validation set

圖6 本文SKDPose模型在COCO數據集可視化結果Fig.6 Visualization results based on our SKDPose model for MSCOCO validation set

3.3.3 消融實驗

為了驗證SKDPose模型各個模塊的有效性,在MPII公開數據集上進行了一系列消融實驗,具體實驗結果見表6.其中PCKH@0.5代表模型的預測性能,參數量和GFLOPs反映了模型的部署和浮點數計算成本.具體來說,在控制其余實驗配置相同的前提下,表6中SKDPose_0是未改進的EfficientNet編碼器模塊和普通三層轉置卷積,相比于SimpleBaseline-50高通道上采樣模塊來說,本文對上采樣通道數進行進一步壓縮;SKDPose_1使用了改進后的EfficientNet編碼器;SKDPose_2相比于SKDPose_1使用了DSTC模塊替換了普通轉置卷積,大幅度降低了解碼器模塊的模型參數,驗證了DSTC模塊的有效性;SKDPose_3驗證了輕量化跨尺度雙向融合模塊的有效性;SKDPose相比于SKDPose_3使用了知識自我蒸餾模塊,驗證了自我知識蒸餾方法的有效性.表7~表11是對表6的更詳細的消融實驗和結果分析,其中消融實驗中wo表示不包含此模塊,w表示包含此模塊.

表6 MPII驗證集上模型組件消融實驗Table 6 Ablation experiments of model components on the MPII validation set

表7 編碼器CAMBConv模塊消融實驗Table 7 Encoder CAMBConv module ablation experiment

表7顯示了針對MBConv改進后的CAMBConv模塊的消融實驗,在參數量和浮點數量基本保持不變的情況下,顯著提升了模型性能0.4個點,CAMBConv的注意力模塊可以捕獲通道、空間和遠距離范圍依賴的注意力特征,加強了編碼器模塊的特征提取能力.

表8顯示了輕量化上采樣DSTC模塊的有效性,根據公式(1)和公式(2),輕量化上采用模塊采用了深度可分離轉置卷積,相比于原始的上采樣模塊,本文上采樣模塊在模型參數上減少了94%,在浮點數計算量上減少了95%,但是模型準確率只降低了0.3個點,證明了深度可分離轉置卷積相比于原始的轉置卷積在模型壓縮上的有效性,對于資源受限的邊緣設備來說,上采樣模塊在部署成本上更具優勢.

表8 輕量化上采樣模塊消融實驗Table 8 Lightweight upsampling module ablation experiment

表9顯示了跨尺度雙向融合模塊的消融實驗,其中解碼器1、解碼器2和解碼器3分別代表了3個分支解碼器在PCKH@0.5指標上的預測性能.BFL-FPN模塊參數量和浮點數運算量分別為0.3M和0.05GFLOPs,因為BFL-FPN模塊對于特征特提取主要采用了深度可分離卷積,根據公式(3)和(4),深度可分離卷積相比于普通的卷積參數量和浮點數計算量減少了8/9,因此BFL-FPN以極低的復雜度大幅度提升了3個解碼器的性能.使用BFL-FPN后3個原始解碼器性能分別提升了22.8、1.8和0.4個點,不同層解碼器性能都有提升,主要原因是編碼器的不同尺度的語義特征圖對人體關鍵點估計都起到一定作用,淺層特征的空間信息豐富,但是語義信息不足;深層特征則與之相反,跨尺度雙向融合可以提升不同分支解碼器性能.

表9 跨尺度雙向融合模塊消融實驗Table 9 Cross-scale bidirectional fusion module ablation experiment

表10顯示了自我知識蒸餾方案的消融實驗,SKD模塊在基本不增加模型參數和浮點數計算量的情況下,提升了模型性能0.5個點.主要原因在于模型的訓練階段,通過深層教師分支監督淺層學生網絡分支,弱化真實標簽對淺層網絡的影響,避免了在訓練階段學生模型過度信任真實標簽導致模型過擬合.學生分支網絡可以從教師分支中獲取更多的“暗知識”,從而提升了學生模型的泛化能力.FPD模型在不同模型之間進行知識傳遞,FPD模型訓練時間至少是本文自蒸餾模型訓練時間的兩倍以上.本文自我知識蒸餾訓練階段增加兩個少量參數的分支,在單一網絡內部實現知識傳遞,在最終部署階段從3個分支中只保留準確率最高的分支,因此本文模型在部署階段不增加任何參數和浮點數計算量.

表10 自我知識蒸餾消融實驗Table 10 Self-distillation knowledge ablation experiment

為了進一步證明基于KL離散度的蒸餾函數相比于FPD模型的MSE蒸餾函數的有效性,表11顯示了不同蒸餾損失函數對模型性能的影響.實驗結果表明相比于FPD模型的MSE蒸餾損失函數,基于KL離散度的蒸餾損失函數在不增加模型參數前提下,模型性能增加了0.4個點.MSE損失函數更適合于回歸任務,而人體關鍵點熱力圖是符合高斯分布的概率分布圖,KL離散度基于相對熵來衡量兩個概率分布之間的差異,因此更能衡量教師模型和學生模型輸出之間的差異性.表12顯示了公式(8)損失函數中用于平衡MSE損失和SKD損失的參數α的消融實驗,從結果中可以看出當權重α≤60或α≥115時,自我知識蒸餾對性能提升0.3個點,這表明教師監督信號確實提升了學生模型的泛化能力,避免學生模型過度信任真實標簽的監督信號.觀察最終實驗結果,經過實驗驗證,阿爾法α設置為100為最優設置,這表明SKD損失在基本不增加模型復雜度的前提下實現“暗知識”的轉移,提升了模型的泛化能力.

表11 不同的蒸餾損失函數比較Table 11 Comparison of different distillation loss functions

表12 損失函數參數消融實驗Table 12 Ablation about weights of loss functions

4 結 論

本文提出了一種基于模型壓縮和知識自我蒸餾的輕量化人體姿態估計檢測算法,旨在解決現有的大型人體關鍵點檢測模型難以在資源受限的設備上部署問題.通過在MBConv模塊引入協同注意力機制,增強了解碼器在通道、空間和全局范圍的注意力特征,在編碼器之后引入BFL-FPN結構,實現了多層次特征雙向融合,顯著提升了網絡精度.同時設計了輕量化的上采樣模塊DSTC,使得解碼器在模型參數上大幅度降低.最后利用自我知識蒸餾使得淺層次解碼器學習深層次解碼器輸出特征,提升各層次解碼器的性能.在COCO和MPII數據集上實驗表明,本文的方法與最先進的大型人體關鍵檢測網絡的精度基本相似,但是本文的模型參數量和計算成本極低,對于計算能力受限的邊緣設備,本文的模型具備極大的應用前景.希望本文的方法能夠在人體關鍵點檢測領域激發更多的靈感,未來,將研究通過引入Transformer架構,進一步提升輕量化人體姿態估計模型的性能.

猜你喜歡
關鍵點特征模型
一半模型
聚焦金屬關鍵點
肉兔育肥抓好七個關鍵點
今日農業(2021年8期)2021-11-28 05:07:50
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
醫聯體要把握三個關鍵點
中國衛生(2014年2期)2014-11-12 13:00:16
主站蜘蛛池模板: 国产区在线看| 中日韩一区二区三区中文免费视频 | 中文字幕av无码不卡免费 | 久久综合亚洲鲁鲁九月天| 国产专区综合另类日韩一区 | 亚洲午夜福利在线| 99色亚洲国产精品11p| 五月天天天色| 国产精品视频观看裸模 | 中文字幕永久在线看| 久久精品无码一区二区日韩免费| 97se亚洲综合在线天天| 国产精品视频第一专区| 亚洲精品国产综合99| 久久国产精品嫖妓| 亚洲人成影院在线观看| 日韩AV无码一区| 久久亚洲AⅤ无码精品午夜麻豆| 谁有在线观看日韩亚洲最新视频| 亚洲三级片在线看| 欧美不卡二区| 日韩资源站| 丰满人妻一区二区三区视频| 国产亚洲欧美在线专区| 国产又大又粗又猛又爽的视频| 国产欧美日韩视频一区二区三区| 亚洲第一页在线观看| 国产永久在线视频| 国产日韩精品欧美一区喷| 亚洲欧美激情小说另类| 欧美.成人.综合在线| 亚洲色成人www在线观看| 国产成人调教在线视频| 亚洲不卡网| 久热这里只有精品6| 国产精品无码久久久久AV| 国产精品成人AⅤ在线一二三四| 熟妇人妻无乱码中文字幕真矢织江| 丝袜美女被出水视频一区| 久久青草精品一区二区三区| 波多野结衣亚洲一区| 国产三区二区| 99精品久久精品| 四虎成人免费毛片| 国产精品无码一二三视频| 无码精油按摩潮喷在线播放| 午夜爽爽视频| 高潮爽到爆的喷水女主播视频 | 狠狠综合久久| 亚洲人成网站在线播放2019| 国产精品视屏| 国产a在视频线精品视频下载| 茄子视频毛片免费观看| 欧美日韩资源| 国产精品尹人在线观看| 日韩无码真实干出血视频| 国产成人盗摄精品| 国产精品99r8在线观看| 日本免费新一区视频| 亚洲男人的天堂久久香蕉网| 亚国产欧美在线人成| 国产精品久久久精品三级| 欧美不卡视频一区发布| 国内精品九九久久久精品| 亚洲国产精品日韩专区AV| a亚洲视频| 99激情网| 日韩成人在线视频| 四虎精品国产AV二区| 四虎影视无码永久免费观看| 无码中文AⅤ在线观看| 久久精品视频一| 中文字幕在线免费看| 国产精品成人免费视频99| 国产丝袜91| 亚洲欧洲免费视频| 毛片免费网址| 国产精品嫩草影院视频| 日韩色图区| 九九香蕉视频| 福利视频久久| 国模私拍一区二区|