[發明專利]基于多粒度卷積神經網絡剪枝的教師板書動作識別方法在審
| 申請號: | 202110130937.0 | 申請日: | 2021-01-30 |
| 公開(公告)號: | CN112800977A | 公開(公告)日: | 2021-05-14 |
| 發明(設計)人: | 張文博;包振山;周晚晴;杜嘉磊 | 申請(專利權)人: | 北京工業大學 |
| 主分類號: | G06K9/00 | 分類號: | G06K9/00;G06N3/04;G06N3/08 |
| 代理公司: | 北京思海天達知識產權代理有限公司 11203 | 代理人: | 劉萍 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 粒度 卷積 神經網絡 剪枝 教師 板書 動作 識別 方法 | ||
1.一種基于多粒度卷積神經網絡剪枝的教師板書動作識別方法,其特征在于:
(1)OpenPose進行特征提取
首先,采用尺寸為w×h的RGB圖像作為輸入,然后OpenPose的主干網絡對基本特征進行前饋計算,同時提取一組預測人體關鍵點的二維置信度圖S和一組表征人體關鍵點之間的關聯程度的二維矢量場V;集合S=(S1,S2,S3,…,Sj,…,SJ),Sj∈Rw*h,Rw*h指的是輸入的尺寸為w×h的全部RGB圖像,包含J個置信圖,每個置信圖表示一類人體關節的關鍵點,圖中每個響應峰值表示有一個關鍵點存在;集合V=(V1,V2,V3,…,Vc,…,VC),VC∈Rw*h*2具有C個二維向量域,每個肢體對應一個二維向量域,編碼了肢體的每個部分指向另一個部分的方向;最后,通過匈牙利算法解析置信度圖和親和度字段,輸出圖像中所有人體的關鍵點信息;
OpenPose由基礎的VGG19網絡以及兩個循環的分支組成;分支一預測關鍵點的位置,分支二預測肢體之間的親和域,俗稱PAFs;第一個階段的兩個分支以VGG輸出的特征圖F作為輸入,得到一組輸出S1=ρ1(F),其中ρ()和φ()表示回歸函數,回歸函數具體為其中D為卷積核,使用3X3卷積,F是輸入特征圖;之后的分支分別以上一個分支的輸出St-1和Vt-1和特征圖F作為輸入,得到新的分支的輸出St和Vt,最終通過重復t次本過程輸出人體關鍵點置信圖S和表征關鍵點關系的親和力場矩陣V,t為迭代次數,取值大于等于2,迭代到輸出St收斂為止,收斂意味著St的值不再變化;其計算過程如公式(1)及(2)所示;
在OpenPose算法輸出形式上,采用類別為COCO的輸出模型;將COCO模型中編號為0,1,2,3,4,5,6,7,14,15,16,17的12個關鍵點激活,將這些激活的關鍵點坐標作為下一階段的原始輸入數據;
(2)坐標歸一化
采用公式(3)所示的方法對得到的關鍵點坐標做位置歸一化處理;公式中坐標原點(A0,B0)為人體的頸部關鍵點,(Amax,Bmax)和(Amin,Bmin)分別為樣本數據中的最大最小值,(Ab,Bb)及(Ab,Bb)分別是歸一化處理前后的關鍵點坐標;
(3)BP神經網絡分類
把步驟(2)所得到的歸一化的關鍵點輸入到BP神經網絡中,訓練BP神經網絡;BP神經網絡組成如下:輸入層神經元個數為1×24,24是把12個2維坐標點數據變為一維數據得來的,關鍵點隱藏層神經元個數為32個,輸出層包含2個神經元,分別表示板書狀態和非板書狀態,通過Softmax分類器進行區分;Softmax函數的輸出及損失函數L()分別如公式(4)及公式(5)所示;式(4)中yq是步驟(2)所得到的擁有q個歸一化處理后的關鍵點的向量,每個q會對應一個Softmax,n為輸出類別個數,對教師動作進行二分類,即n=2;yq’即為Softmax函數的輸出值,為了方便書寫,后文中用yq’代替表示Softmax函數的輸出值;后文中除特別說明外,提及到的損失函數L()的意義相同,也都是用公式(5)的計算方法計算的;
2.如權利要求1所述的基于多粒度卷積神經網絡剪枝的教師板書動作識別方法,其特征在于所述步驟(1)中OpenPose的算法具體如下:
(2.1)截取refinement stage
通過對OpenPose進行分析,發現在OpenPose算法中,圖像特征提取使用VGG19網絡的前4個卷積模塊,在提取特征完成后使用兩個卷積層即Conv4-3、Conv4-4對特征圖進行降維;經過降維后的特征圖分別輸入到兩個分支中進行人體關鍵點的回歸和表示兩個關鍵點之間關聯度的部位親和向量場的預測;兩個分支具有相同的級聯網絡結構,由一個initialstage和一個循環2次的refinement stage組成;
(2.2)對VGG19骨干網絡進行模型壓縮
VGG19網絡包含16個卷積層和3個全連接層,卷積層核的大小均為3X3,選用提出的多粒度卷積神經網絡剪枝框架對OpenPose的骨干網絡進行壓縮;具體步驟為首先固定OpenPose中兩個循環分支Initial stage和refinement stage以及BP神經網絡部分的參數,對VGG19網絡進行多粒度卷積神經網絡剪枝;在剪枝過程中,固定網絡中的其余層參數不變,僅對網絡的前10層進行剪枝;在再訓練過程中,固定網絡中其余層參數不變,僅更新網絡前10層的參數,最后,采用COCO數據集對整個OpenPose算法進行再訓練,以恢復由VGG19的網絡變化導致的精度損失;將剪枝完成后的網絡模型替換原來的網絡模型,即完成了OpenPose算法的優化;對于VGG19網絡,除了剪枝方法外,其他部分并未做出改動;
剪枝具體過程如下:
(3.1)對輸入的網絡模型的卷積層逐層進行濾波器級剪枝,具體為:
首先,隨機挑選若干張圖像作為評估集,計算每張圖像作為輸入時濾波器輸出特征映射的均值,作為濾波器對輸入圖像的響應值,由此獲得這批圖片集的響應張量;然后,采用信息熵衡量張量的變化程度,將張量元素的取值范圍等量劃分為m塊,m的取值中推薦采用10,然后統計每個塊包含元素的數量并計算發生概率pj,按照公式(6)計算信息熵;
其中Hi,k代表第i層第k個濾波器生成的張量的信息熵,j代表當前是第幾塊,N和Ci分別表示網絡層數及第i層卷積層中包含的通道數;信息熵計算完成后,將第i層卷積層中各濾波器按照信息熵大小按照升序排序;用戶根據對待壓縮的卷積神經網絡進行評估,可設定期待壓縮率Cr,可直觀理解為用戶期待壓縮后網絡中剩余濾波器的比例;Cr的取值在0到1之間,中推薦采用0.5;使用公式(7)計算對應層需要剪除的濾波器個數;
Ri=Ci(1-Cr) (7)
將第i層對應排序后的前Ri個濾波器刪除,并將i+1層中對應的二維卷積核剔除,即完成剪枝;
實現上,該過程需要設置與卷積神經網絡模型規模完全一致的二進制掩碼矩陣T,T為0-1矩陣,用于表征剪枝狀態,T矩陣中的每個元素均對應網絡模型中的一個參數,元素的初始值均設置為1,當剪枝掉一個濾波器時,就將該濾波器對應的矩陣元素值均設置為0;因此,對于濾波器組Wi,k,當其輸入特征圖為Fi時,卷積運算的變化如公式(8)所示;
其中f()表示激活函數,Ti,k是與Wi,k對應的掩碼矩陣,代表卷積運算,⊙為哈達瑪乘積;
卷積神經網絡是一種前饋計算的神經網絡,基本組成單元為神經元,多個神經元構成一個提取圖像基本特征的二維向量,該二維向量在后文中簡稱特征矩陣,多個二維向量構成卷積層,鄰近兩個卷積層通過神經元連接傳遞信息,而同一卷積層中的神經元間互相獨立;卷積層用來對輸入向量提取特征,每層卷積層由多個通過反向傳播算法訓練的濾波器組構成;令wi和hi分別表示輸入三維特征向量的寬、高,Xi經卷積計算后變為輸出特征向量該向量將繼續作為下一卷積層的輸入;卷積層運算是在Ci個輸入通道上應用Ci+1個濾波器來實現的,一個濾波器對應生成一個特征向量,其中每個濾波器由Ci個卷積內核組成;因此,第i+1層卷積層的運算次數是Ci+1Cik2hi+1wi+1;修剪第i層的一個濾波器減少Cik2hi+1wi+1次操作,同時第i+1層的對應輸入特征向量也被移除,由此可減少Ci+2k2hi+2wi+2次操作,則修剪第i層中的M個濾波器,M的值與上文中的m取值相同,分別減少第i層和第i+1層的m/Ci+1的計算量;
(3.2)對濾波器級網絡剪枝后的網絡模型進行連接級剪枝,具體為:
采用動態剪枝方法,通過公式(9)設定閾值THA、THB,其中THB≥THA≥0;將低于閾值ThA的連接剪除,并將高于閾值THB的連接恢復,這種可恢復的機制防止了剪枝過程中誤刪除重要連接導致的網絡無法恢復的問題;
公式(9)中的Wi,k表示第i層第k個濾波器中的一組參數,公式中mean()表示求該組參數的平均值,std()表示求該組參數的標準差函數;s取值為-1;Δt取值為-2*s*std(Wi,k);連接的剪除與恢復通過設置掩碼矩陣的對應元素的置位與清零來實現;令Wi,k(p)為第i層第k個濾波器Wi,k中的第p個參數,Ti,k(p)為掩碼矩陣中與之對應的元素,則掩碼矩陣中每個元素的更新策略如公式(10)所示;
再對網絡參數更新時,采用隨機梯度下降法的更新策略,如公式(11)所示;
其中字符I表示深度網絡中所有濾波器的集合,L()表示該剪枝過程中網絡的損失函數,在公式(11)中先對損失函數取偏導數β是參數更新的學習率,為了避免由于β取值過小造成的參數不再更新的問題,在中β取值為:0.0001≤β≤1;
(3.3)精度恢復訓練策略——L1和L2正則化的使用
最小化目標函數,見公式(12);
在公式(12)中,ω表示網絡模型中待處理的參數,ω*表示經過正則化處理后得到的參數;λ為正則項參數,λ值的定義將在下文L1和L2正則化的介紹中分別給出;公式(12)中的第一項代表網絡模型對第e個樣本的預測值f(xe;ω)和訓練標簽ye之間的誤差;公式(7)中的第二項Ω(ω)是用對參數ω的規則化函數,規則化函數Ω(ω)有很多種選擇,主要針對L1正則化與L2正則化進行介紹;采用如下給出的L1正則化與L2正則化方法,具體方法為在濾波器級剪枝完成后的恢復訓練過程中引入L1正則化,在連接級剪枝方法的恢復訓練過程中引入L2正則化;
· L1正則化
在濾波器級剪枝完成后,恢復訓練過程中引入L1正則化;已知網絡模型待處理參數ω的L1正則項如公式(13)所示;
其中,ω中含有的批處理參數尺寸的大小為nL1;L1正則項的計算過程為取這些參數絕對值求和;
根據正則化的定義可知,帶L1正則化項的損失函數見式(14);
對帶有L1正則化項的目標函數進行求導,結果見式(15);
L1正則化時,當利用梯度下降法更新ω,其更新過程見公式(16),其中β同上文,為參數更新的學習率且0.0001≤β≤1,;
公式(16)在梯度下降算法過程中,正則項參數λ≥0;
· L2正則化
在連接級剪枝的恢復訓練過程中引入了L2正則化,以下將介紹L2正則化過程;對網絡模型待處理參數ω的L2正則化過程見公式(17),其中nL2表示ω中含有的批處理參數的個數;
L2正則項的計算過程為取這些參數的平方和;
根據正則化的定義可知,帶L2正則化項的損失函數(見式(18));
其中,表征未作正則化前的初始函數,表征經過L2正則化后得到的函數;
對帶有L2正則化的目標函數進行求導,結果見公式(19);
L2正則化時,當利用梯度下降法更新ω,其更新見公式(20),其中n和β的定義均同上文,λ為正則項參數;首先,根據待訓練次數的預期,先確定學習率β,中推薦采用0.0001;而后,關于λ的值,采用“由粗到細”的方法調整,其初始值從1開始逐步增大/縮小,在訓練集上學習到參數,然后在測試集上驗證誤差,以尋求能使測試集驗證誤差更小的參數;重復進行上述過程,直到測試集上的誤差最小;中先將正則項參數設置為1,然后根據驗證集所處范圍將逐步增加,每次增加10倍;若經過2-3次探索后測試集上的誤差無變化或增大,則調整為逐步減小,每次減小10倍;以此類推直到找到使測試集誤差最小的數量級;而后,在此數量級水平下再做更“細”調節,具體做法是在最低位上從0開始,每次使最低位上的值增加1,直到找到使測試集誤差最小的值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京工業大學,未經北京工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110130937.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種互聯網醫院服務平臺系統
- 下一篇:一種發泡級生物降解聚酯材料及其制備方法





