国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于深度學習的頭部姿態(tài)估計模型*

2022-03-17 10:17劉亞飛王敬東林思玉
計算機與數(shù)字工程 2022年2期
關鍵詞:卷積頭部膠囊

劉亞飛 王敬東 劉 法 林思玉

(南京航空航天大學自動化學院 南京 211106)

1 引言

頭部姿態(tài)作為進行人體行為分析的重要手段,在社區(qū)安防、智能家居以及室內行為監(jiān)控等領域得到廣泛應用。頭部姿態(tài)估計是指計算機通過對輸入圖像或者視頻序列進行分析、預測,確定人的頭部在三維空間中的位置以及姿態(tài)參量[1]。如圖1所示,頭部的姿態(tài)包括俯仰角(pitch),偏航角(yaw)和翻滾角(roll),其中,俯仰角作為頭部姿態(tài)中的關鍵信息之一,在教室學生注意力分析、判斷駕駛員疲勞狀態(tài)等方面有諸多應用,因此,本文主要針對俯仰角進行展開研究。

圖1 頭部姿態(tài)三個旋轉角度

目前,頭部姿態(tài)估計的方法有多種,主要可分為基于模型的方法和基于表觀的方法,基于模型的方法[2~4]是先獲取臉部的多個關鍵點,通過PnP 算法[5]實現(xiàn)2D 到3D 的轉化,構建頭部模型與姿態(tài)之間的空間立體的對應關系。但該方法在頭部轉動角度大時,難以對臉部關鍵點進行準確定位,造成頭部圖像與3D 頭部模型之間的匹配度降低。另一種基于表觀的方法[6~8]則是直接對頭部圖像進行分析,通過學習不同頭部姿態(tài)對應的角度信息,可以不受角度限制,因此受到廣泛關注?;诖朔椒?,Patacchiola 與Cangelosi 等[6]測試了dropout 和基于自適應梯度的方法與CNN 相結合進行頭部姿勢估計的效果,提出將自適應梯度與CNN 結合使用。Nataniel 等[7]利用ResNet50 進行特征提取,并對俯仰、偏航和翻滾三個角度分別采取分類與回歸雙重損失,增強對誤差的約束。Shao 等[8]在此基礎上,研究了不同人臉邊界框對頭部姿態(tài)估計的影響,并將文獻[7]中對三個角度先分類后預測改為了回歸與分類結果同時輸出,以減小分類與回歸之間的換算誤差。

但是頭部姿態(tài)估計網(wǎng)絡需要提取和保留比較多的空間結構信息,如由于頭部轉動所形成的與原豎直頭部之間的俯仰角。上述基于表觀的方法均是通過使用深層次網(wǎng)絡以提取更多、更豐富的語義信息,而增加網(wǎng)絡深度就意味著需要增加相應的MaxPooling 池化層以降低參數(shù)量,加快網(wǎng)絡訓練速度,但由于MaxPooling 是取一定尺寸范圍內的最大值,即最顯著特征,而忽略最顯著特征所處圖像的位置與角度,使得特征丟失了原本圖像中所存在的空間結構信息。因此,構建的網(wǎng)絡模型一方面應當盡量避免MaxPooling 池化的使用,另一方面也應當對頭部的角度信息能夠進行有效地提取,使頭部的姿態(tài)信息傳遞至最終的輸出。

為此,本文利用膠囊網(wǎng)絡充分保留空間結構信息的優(yōu)點,并結合傳統(tǒng)的卷積神經(jīng)網(wǎng)絡進行特征提取,提出將膠囊網(wǎng)絡(Capsule Networks,CapsNet)[9]與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)相結合,利用設計的三級網(wǎng)絡輸出特征后,將特征編碼為膠囊形式傳入膠囊網(wǎng)絡進行傳遞至輸出,使整個網(wǎng)絡既能對語義特征進行充分的提取,又能利用CapsNet特性,保留圖像中存在的姿態(tài)關系,實現(xiàn)對頭部姿態(tài)的準確估計。本文模型具有以下三個優(yōu)點:1)采用單輸入異構雙流的特征提取結構,使不同的卷積流提取更為豐富的信息;2)采用三級輸出策略,使得每級輸出能夠提取到不同的空間結構特征和語義特征;3)將CapsNet引入其中,并在三級輸出的特征轉成膠囊向量后,以動態(tài)路由確定最終輸出,從而能夠使空間結構特征得以保留。

2 膠囊網(wǎng)絡

2.1 膠囊

如圖2 所示,相比于傳統(tǒng)的單個神經(jīng)元,膠囊由多個神經(jīng)元構成,因此在卷積層上,普通的單層卷積是二維,而單層的膠囊則是三維。膠囊中的每個神經(jīng)元表示一種屬性,如大小、方向、色調、紋理等特征,故相對而言,膠囊可以記錄更詳細的信息。當圖像中頭部發(fā)生角度變化時,膠囊中神經(jīng)元也會產(chǎn)生相應的變化,接著使用動態(tài)路由算法對膠囊進行篩選傳遞,進而影響最終的輸出。而傳統(tǒng)的CNN 由于MaxPooling 的存在,只會保存顯著特征,丟棄非顯著特征,造成空間結構信息丟失。為了更形象地將二者相區(qū)分,常用標量表示普通神經(jīng)元,向量表示膠囊,向量的長度表示識別目標存在的概率,方向表示目標的各種屬性。

圖2 普通神經(jīng)元與膠囊對比圖

2.2 動態(tài)路由算法

首先利用卷積神經(jīng)網(wǎng)絡進行特征提取,并將其轉換為膠囊形式,經(jīng)過姿態(tài)矩陣得到初始預測膠囊,即子膠囊。姿態(tài)矩陣用于子膠囊對父膠囊的預測,不同的姿態(tài)矩陣代表子膠囊的不同預測方向,所有子膠囊對父膠囊的預測,實際是聚類的過程,如圖3 所示,子膠囊Caps1、Caps2、Caps3 以及Caps4等均對多個父膠囊進行預測,當多數(shù)子膠囊輸出一致時,會對不同的父膠囊形成簇,作為對父膠囊的預測,從而激活對應父膠囊。而對于如何使簇更緊密,以形成對父膠囊的準確預測,則由動態(tài)路由算法確定。

圖3 子膠囊向父膠囊聚類示意圖

根據(jù)動態(tài)路由算法,子膠囊與父膠囊之間是類似全連接的形式,所有子膠囊都會與父膠囊相連,并嘗試預測父膠囊的輸出,但是它們的權重并不相同,若子膠囊的預測與父膠囊的輸出一致,則這兩個膠囊之間的權重會增加,這樣就可以將對父膠囊貢獻大的子膠囊的權重變大,貢獻小的權重變小,造成預測相同的子膠囊逐漸接近,差別很大的逐漸遠離,經(jīng)過迭代三次,最終根據(jù)權重大小,確定每個子膠囊對父膠囊的貢獻程度,進行加權求和,得到綜合的輸出。相比于MaxPooling 簡單地選擇最大值,更有利于保存最符合預期的信息。

3 基于CapsNet 與卷積神經(jīng)網(wǎng)絡結合的頭部姿態(tài)估計模型

由于原來的CapsNet僅含有一個卷積層用于提取特征,其對于語義信息的提取是不夠的,為了既能進行充分信息提取,又能將其中的空間信息保留[10~11],本文借鑒了SSR 網(wǎng)絡[12]的多級輸出思想,提出了一種新的頭部姿態(tài)估計網(wǎng)絡模型。如圖4所示,該模型利用深度卷積結構用于提取特征,采用異構雙流的方式,并將網(wǎng)絡分為三級,分別在一層、三層和七層卷積輸出,每級輸出均通過同維度膠囊對實體的語義信息以及空間結構特征進行編碼,然后將三個CapsNet 通過三個不同的姿態(tài)矩陣得到膠囊網(wǎng)絡的全連接層,并通過動態(tài)路由的方式將上一級膠囊對輸出膠囊進行聚類,最終得到類別輸出。在整個特征提取網(wǎng)絡中,一層卷積對輸入圖像的特征提取較淺,基本保留了空間結構信息;而第三層卷積既保留了一部分空間信息,也對語義特征進行了一定的提??;第七層則是通過不斷的卷積池化,將語義信息進行了充分的提取。這樣,既能得到豐富的空間結構信息,也能對語義信息進行充分提取,而通過CapsNet 模塊對特征信息進行編碼并傳遞至輸出,從而既實現(xiàn)豐富的信息提取,又能夠將特征充分傳輸不丟失。這種深度和多級的協(xié)調融合有利于空間特征和語義特征的提取和保留,使網(wǎng)絡對頭部姿態(tài)有更好的檢測和識別效果。

圖4 用于頭部姿態(tài)估計的CNN與CapsNet相結合的網(wǎng)絡結構示意圖

如圖4所示,將尺寸大小為64×64 的頭部圖片分別送入上下兩個輸入進行深度可分離卷積,每個輸入在K1、K2、K3三個階段均進行特征提取,并通過1×1 卷積和element-wise 的方式進行點乘融合,其中,為提高網(wǎng)絡收斂的速度和防止過擬合,將處理后的卷積層進行批歸一化(Bacth Normalization)處理。本文網(wǎng)絡的基本構建塊由3×3 卷積、批歸一化、非線性激活以及2×2 池化組成,每個輸入采用不同類型的激活函數(shù)和池化以使它們異構,上輸入采用ReLU 與AveragePooling,下輸入采用Tanh 和MaxPooling,這樣可以通過不同的激活函數(shù)和池化對圖像信息進行提取,通過相互融合以提高性能,最后將融合后的特征送入CapsNet進行信息編碼。本文所設計的CapsNet模塊的結構如圖5所示。

本文對于圖4 中CapsNet 模塊的設計如圖5 所示,三級輸出進入CapsNet模塊后,首先通過一層卷積使其變?yōu)槟z囊形式,繼而利用姿態(tài)矩陣將其轉化為類膠囊的形式的初始預測膠囊,通過dropout 的方法舍棄一部分后,通過動態(tài)路由算法將其轉為最終預測膠囊。具體設計為CapsNet模塊的輸入是三個N×M×D的卷積層,輸出為大小為1×Q的O個膠囊向量,中間過程如下:在三級輸出后,通過在原有卷積層的基礎上再進行C次相同卷積操作,使得原有卷積層從三維擴展至四維,形成了含有N×M×D個膠囊,每個膠囊含有C個神經(jīng)元的初始膠囊層,其中每個神經(jīng)元代表著不同的含義,諸如方向、大小、紋理等信息,由于輸出膠囊層中所含膠囊的個數(shù)對應著輸出類別O,因此該層中共含有O個膠囊,且每個膠囊是1×Q的向量。初始膠囊層需要經(jīng)過三個N×M×D個C×Q的姿態(tài)矩陣(即圖6 中的W1、W2以及W3),從而得到初始預測U?,然后U?經(jīng)過動態(tài)路由算法最終得到O×1 個長度為Q的膠囊。其中,姿態(tài)矩陣與常規(guī)的變換矩陣一樣,在初始化之后通過反向傳播訓練得到,而動態(tài)路由算法中各膠囊的權重則是在不斷的迭代更新中確定的。

圖5 CapsNet模塊結構示意圖

由于dropout 可以使某些膠囊暫時不起作用,防止了網(wǎng)絡過度依賴某些特征,提高網(wǎng)絡泛化能力,使網(wǎng)絡能夠通過子膠囊的共性對頭部的俯仰角度進行正確預測,本文采用文獻[13]中的dropout方法,將每個輸出的膠囊作為整體對待,以保證每個膠囊的方向不變,通過伯努利分布對膠囊進行隨機丟棄,即保持子膠囊與父膠囊之間的姿態(tài)矩陣參數(shù)不變,將子膠囊中各神經(jīng)元的輸出置為0,從而使整個膠囊在網(wǎng)絡訓練中不起作用,避免因為丟棄膠囊中部分元素導致膠囊的方向發(fā)生變化。

本文所采用的損失函數(shù)是Marginloss,該函數(shù)常用于多類別損失的計算。在輸出父膠囊后,計算各向量的L2 范數(shù),能夠得到對應于pitch 角度的60種不同類別的預測值與損失值,具體如式(1)所示:

4 實驗結果和分析

4.1 實驗準備

為了驗證本文提出的網(wǎng)絡模型的有效性,并便于與其他經(jīng)典模型進行對比,本文選取在頭部姿態(tài)估計領域具有代表性且常用的300W-LP 數(shù)據(jù)集、AFLW2000數(shù)據(jù)集以及BIWI數(shù)據(jù)集。300W-LP 數(shù)據(jù)集是一個大型人臉姿態(tài)數(shù)據(jù)集,共有122450 張圖片,這些圖片通過三維密集面對齊(3D Dense Face Alignment,3DDFA)[14]合成出不同的偏航角。各圖片間差異較大,背景環(huán)境復雜,人物之間差異性較大,具有不同年齡段、不同光照、不同表情以及不同的遮擋程度,最大程度體現(xiàn)了真實環(huán)境下的頭部各個姿態(tài)。另外,該數(shù)據(jù)集中還對原有的數(shù)據(jù)進行了水平翻轉,在增加了不同角度的同時,也對數(shù)據(jù)集進行了擴充。本文使用數(shù)據(jù)集進行訓練,300W-LP數(shù)據(jù)集的部分圖片如圖6 所示。

圖6 300W-LP數(shù)據(jù)集部分實驗用圖

AFLW2000數(shù)據(jù)集是由2000張頭部圖片組成,該數(shù)據(jù)集包含有不同光照和遮擋條件的頭部姿勢,是頭部姿態(tài)估計中常用的用于測試的數(shù)據(jù)集。由于頭部的俯仰角基本位于[-90°,90°]之間,因此本文刪除了AFLW2000中存在角度不在[-90°,90°]之間的圖片,并歸一化為64×64 大小進行測試。

圖7 AFLW2000數(shù)據(jù)集部分圖片

圖8 BIWI數(shù)據(jù)集部分圖片

BIWI 數(shù)據(jù)集包含有24 個人拍攝的約15000 張圖片,每個人都有較為豐富的頭部姿態(tài),并提供了每張圖片的深度圖像以及姿態(tài)信息。由于該數(shù)據(jù)集未提供頭部檢測框信息,故本文使用MTCNN(Multi-Task Convolutional Neural Network)進行頭部檢測和截取,針對部分圖片中多人存在的情況,采用分離區(qū)域檢測手段進行處理。

根據(jù)文獻[8]經(jīng)實驗證明,邊界框邊緣參數(shù)K取0.5時,改善了俯仰角,偏航角和翻滾角在各個角度值上精度,因此,為保證一致性,本文所有的數(shù)據(jù)集均采用邊界框邊緣參數(shù)K=0.5 進行頭部區(qū)域裁剪。

本文使用Python 語言,基于Keras 和Tensorflow框架進行算法實現(xiàn),其硬件環(huán)境為Intel i7-7200H@2.7Hz×8 CPU和GTX1080Ti GPU,卷積神經(jīng)網(wǎng)絡的訓練參數(shù)設置為訓練的迭代次數(shù)為numEpochs=90,采用AdamOptimer優(yōu)化器,每批次大小batch size為16,初始的學習率為0.001,每30步縮小0.1倍。

4.2 實驗結果

為了能夠更好地體現(xiàn)CapsNet與卷積神經(jīng)網(wǎng)絡結合的頭部姿態(tài)估計模型的優(yōu)勢,將該模型與FAN[15],Dlib[16],HopeNet 分別在在AFLW2000 數(shù)據(jù)集以及BIWI 數(shù)據(jù)集上進行測試,并采用平均絕對誤差(Mean Absolute Error,MAE)作為評價指標。

本文采用上述不同的方法對BIWI數(shù)據(jù)集的數(shù)據(jù)進行預測,并通過類別×3-90°的轉換公式將類別轉為對應的角度值,根據(jù)MAE 計算公式得到測試數(shù)據(jù)如表1所示。

表1 BIWI數(shù)據(jù)集在俯仰角上的MAE對比

由表1 可以看出,本文在俯仰角上所得出的MAE 具有最優(yōu)值,且BIWI 數(shù)據(jù)集在角度姿態(tài)展現(xiàn)出多樣性,更能體現(xiàn)本文方法的表現(xiàn)優(yōu)異。

另外,在AFLW2000 數(shù)據(jù)集上的測試結果如表2所示。

表2 AFLW2000數(shù)據(jù)集在俯仰角上的MAE對比

實驗結果表明,本文方法以及HopeNet 在俯仰角上與經(jīng)典的Dlib 與FAN 算法相比,具有明顯的優(yōu)勢,也證明了基于表觀的方法相比于基于模板的方法能夠克服頭部姿態(tài)變化的差異,更加準確地估計;并且本文方法相較于目前較為先進的HopeNet也有了很大程度的提高,在MAE 上取得了最佳的測試值。表2 的測試結果整體優(yōu)于表1,是由于BIWI 數(shù)據(jù)集是在單一背景下拍攝的,而AFLW2000數(shù)據(jù)集背景構成較為復雜,從而影響了最終的估計精度,可見復雜背景對頭部姿態(tài)的估計精度影響較大。

為了驗證模型在實際應用中的有效性,本文拍攝了生活中的常見情形,分別為正常光照、昏暗光照、戴帽子以及復雜背景。數(shù)據(jù)采集自6 個人,每人在4種環(huán)境下分別做15種頭部姿勢,俯仰角取值為{-30°,0°,30°},偏航角取值為{-45°,-30°,0°,30°,45°},部分測試圖片如圖9所示。

圖9 不同條件下的部分測試圖

考慮到在實際操作過程中,由于人為標注以及實驗人員本身造成的誤差,故進行了本文模型與HopeNet的對比實驗,實驗結果如表3所示。

表3 不同條件下在俯仰角上的MAE對比

由表3 可以看出,本文方法在各個不同的場景中,都具有優(yōu)異地表現(xiàn),并且MAE 值均較小,魯棒性較強,沒有出現(xiàn)大幅度的起伏變化,在四組實驗中,昏暗光照下的表現(xiàn)最差,原因是實驗本身光照強度較低,且出現(xiàn)黑影,對頭部俯仰角的預測產(chǎn)生較大的影響。另外,由于測試的頭部區(qū)域均按照臉部邊界框邊緣參數(shù)K=0.5,因此背景所占比例較大,對最終的頭部姿態(tài)估計造成了一定的干擾。

5 結語

本文通過傳統(tǒng)卷積神經(jīng)網(wǎng)絡提取圖像特征,并將特征信息傳入CapsNet 進行空間信息保留與傳遞,從而構建了一種新的頭部姿態(tài)估計模型,解決了傳統(tǒng)卷積神經(jīng)網(wǎng)絡存在的MaxPooling 池化所造成的空間結構信息丟失的缺點。通過本文算法與FAN,Dlib 和HopeNet 分別在AFLW2000 數(shù)據(jù)集和BIWI 數(shù)據(jù)集上進行的俯仰角實驗對比結果表明,相比于其他算法,本文模型在俯仰角的估計上具備更加優(yōu)異的表現(xiàn)。

猜你喜歡
卷積頭部膠囊
基于全卷積神經(jīng)網(wǎng)絡的豬背膘厚快速準確測定
基于圖像處理與卷積神經(jīng)網(wǎng)絡的零件識別
基于深度卷積網(wǎng)絡與空洞卷積融合的人群計數(shù)
膠囊要用涼開水服
旅行休憩小頭枕
長頸鹿
蠔殼巧制作
我有一顆神奇膠囊
服用膠囊的小細節(jié)
敲打孩子頭部會引起癲癇嗎?