張 鋒,葉 茂,曾凡玉
(電子科技大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,成都 611731)
單人姿態(tài)估計是計算機(jī)視覺中的基礎(chǔ)問題,它是多人姿態(tài)估計、行為識別的基礎(chǔ),其被廣泛應(yīng)用于人機(jī)交互[1]、行人重識別[2]、人體分割[3]等領(lǐng)域.單人姿態(tài)估計的目的是從一幅包含有單個人體的圖像中找出人各個關(guān)節(jié)點(diǎn)的坐標(biāo).由于受到拍攝角度、場景、光照、穿著等影響,圖像中的單人姿態(tài)估計面臨著艱巨的挑戰(zhàn).然而,隨著姿態(tài)估計數(shù)據(jù)集的開放[4-7]、計算機(jī)硬件的發(fā)展以及深度學(xué)習(xí)技術(shù)的提出,特別是卷積神經(jīng)網(wǎng)絡(luò)[8]和生成對抗網(wǎng)絡(luò)[9]逐漸滲透到計算機(jī)視覺中的各個研究領(lǐng)域,單人姿態(tài)估計也取得了飛速發(fā)展.由于姿態(tài)估計所使用方法主要是基于深度卷積神經(jīng)網(wǎng)絡(luò)的,少部分方法基于生成對抗網(wǎng)絡(luò).因此本文將從介紹深度學(xué)習(xí)中的深度卷積神經(jīng)網(wǎng)絡(luò)和生成對抗網(wǎng)絡(luò)的發(fā)展開始,從三個不同的角度闡述單人姿態(tài)估計的研究進(jìn)展,最后給出單人姿態(tài)估計的發(fā)展趨勢和展望.
Hinton于2006年首先提出了深度學(xué)習(xí)的概念.深度學(xué)習(xí)是指一系列基于人工神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)方法的統(tǒng)稱.深度學(xué)習(xí)也被稱為深度結(jié)構(gòu)化學(xué)習(xí)或者深度層次化學(xué)習(xí).深度學(xué)習(xí)主要包括深度神經(jīng)網(wǎng)絡(luò)、深度卷積神經(jīng)網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)等.由于姿態(tài)估計領(lǐng)域中大部分方法使用深度卷積神經(jīng)網(wǎng)絡(luò)、少部分方法使用生成對抗網(wǎng)絡(luò).因此本節(jié)將對深度卷積神經(jīng)網(wǎng)絡(luò)以及生成對抗網(wǎng)絡(luò)的發(fā)展進(jìn)行簡要的回顧.
Lecun于1998年首次提出使用梯度反傳方法訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)從而實現(xiàn)手寫字體自動識別[8],這為深度學(xué)習(xí)奠定了基礎(chǔ).在2012年Krizhevsky等人在ImageNet競賽中提出了一種新型的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)AlexNet[10],該網(wǎng)絡(luò)的性能遠(yuǎn)遠(yuǎn)超越了其他方法,首次證明了卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)越性.在隨后的2014年,牛津大學(xué)提出的VGGNet網(wǎng)絡(luò)[11]使用多個3×3卷積替代較大的卷積核引入更多的非線性變換增強(qiáng)模型的性能.同年,谷歌提出了GoogleNet[12],將不同大小的卷積核處理得到的特征進(jìn)行融合不僅能降低計算量還能夠提升模型的性能.Kaiming等人于2015年提出的殘差網(wǎng)絡(luò)ResNet[13]解決了卷積神經(jīng)網(wǎng)絡(luò)退化問題.殘差結(jié)構(gòu)的引入使得訓(xùn)練很深的卷積神經(jīng)網(wǎng)絡(luò)成為可能.與ResNet采用跳躍連接解決退化問題不同的是DenseNet[14]通過特征復(fù)用的方式來解決這一問題.2017年之后,網(wǎng)絡(luò)架構(gòu)的研究主要集中在如何設(shè)計更為輕量化的網(wǎng)絡(luò)結(jié)構(gòu).2017年MobileNet[15]被提出,該網(wǎng)絡(luò)中將普通的卷積操作換為深度卷積和點(diǎn)卷積這兩個操作來實現(xiàn)(即深度可分離卷積)從而實現(xiàn)網(wǎng)絡(luò)的輕量化.由于網(wǎng)絡(luò)中大量使用1×1卷積,為了得到更加輕量級的網(wǎng)絡(luò)結(jié)構(gòu),ShuffleNet[16]將1×1卷積替換為點(diǎn)組卷積(由組卷積和深度可分離卷積得到,深度可分離卷積又稱為點(diǎn)卷積)并引入通道打散技術(shù)從而在加快速度的同時保證模型的精度.2018年至2019年的研究主要集中在如何通過自動化的搜索方法去搜索更為高效的網(wǎng)絡(luò)架構(gòu).關(guān)于搜索方法可以分為基于強(qiáng)化學(xué)習(xí)的方法[17]、基于進(jìn)化學(xué)習(xí)的方法[18]、基于梯度的方法[19]這三種類型.深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展是單人姿態(tài)估計的基礎(chǔ),特征提取的架構(gòu)設(shè)計、網(wǎng)絡(luò)結(jié)構(gòu)的演進(jìn)以及面向姿態(tài)估計的特殊結(jié)構(gòu)的提出共同推動了姿態(tài)估計的發(fā)展.
生成對抗網(wǎng)絡(luò)(GAN)[9]由Ian等人于2014年提出,生成對抗網(wǎng)絡(luò)包含生成器和判別器兩個部分,其中生成器的目的是為了產(chǎn)生能夠欺騙判別器的樣本,而判別器的目的是為了判斷樣本的來源.生成對抗網(wǎng)絡(luò)訓(xùn)練過程中判別器和生成器不斷進(jìn)行博弈,在判別器無法判斷樣本究竟是來自于生成器還是真實的分布時訓(xùn)練結(jié)束,此時的生成器能夠產(chǎn)生足以迷惑判別器的樣本.雖然生成對抗網(wǎng)絡(luò)能夠生成不錯的樣本,但是無法控制所生成的樣本.條件生成對抗網(wǎng)絡(luò)(cGAN)[20]使得控制所生成的樣本成為可能.cGAN通過在生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò)添加控制生成的類標(biāo)或其他知識使得生成器和判別器成為基于類標(biāo)或者其他知識的條件概率函數(shù),從而控制生成器的生成.由于早期生成對抗網(wǎng)絡(luò)中生成器和判別器都是采用全連接網(wǎng)絡(luò)進(jìn)行構(gòu)建,生成器和判別器沒有空間感知能力.如何改造生成器和判別器使其具有空間感知能力從而生成更加逼真的圖像是一項非常值得研究的問題.Radford等人[21]通過大量嘗試找出了深度卷積生成對抗網(wǎng)絡(luò)(DCGAN)成功訓(xùn)練的方法,為GAN的發(fā)展做出了卓越貢獻(xiàn).雖然Radford等人通過實驗枚舉出了一組比較好的網(wǎng)絡(luò)架構(gòu)設(shè)置,但仍然不能很好地解決訓(xùn)練過程中模態(tài)坍縮所導(dǎo)致的生成樣本多樣性不足、網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定、沒有能夠指示GAN訓(xùn)練進(jìn)程的指標(biāo)等問題.Wassertein GAN(WGAN)[22]通過理論分析提出了能夠讓原始 GAN的訓(xùn)練變得穩(wěn)定的幾點(diǎn)改進(jìn),這為GAN的廣泛應(yīng)用打下了基礎(chǔ).GAN的熱潮同樣席卷了姿態(tài)估計領(lǐng)域,少部分研究者[23,24]將GAN應(yīng)用到姿態(tài)估計中并取得了不錯的效果.
基于坐標(biāo)回歸的單人姿態(tài)估計主要分為兩大類:無誤差反饋的方法和迭代誤差反饋的方法.其中無誤差反饋的方法又細(xì)分為單源輸入和雙源輸入,如圖1所示基于坐標(biāo)回歸的單人姿態(tài)估計分類.
無誤差反饋的典型方法為DeepPose[25],它開創(chuàng)了使用深度學(xué)習(xí)進(jìn)行姿態(tài)估計的先例,該方法使用歸一化的坐標(biāo)表示關(guān)節(jié)點(diǎn)的位置,使用多階段回歸的方式得到關(guān)節(jié)點(diǎn)精確的坐標(biāo).隨后,雙源姿態(tài)估計網(wǎng)絡(luò)(DS-CNN)[26]將包含有人的整體圖像以及包含有關(guān)節(jié)點(diǎn)的局部圖像作為姿態(tài)估計網(wǎng)絡(luò)的輸入從而有效地提升了姿態(tài)估計網(wǎng)絡(luò)的性能.由于人的視覺系統(tǒng)中包含有反饋連接,為了利用反饋連接改善基于坐標(biāo)回歸的單人姿態(tài)估計,Carriean等人[27]提出了迭代誤差反饋(IEF)的思想.該方法將關(guān)節(jié)點(diǎn)坐標(biāo)轉(zhuǎn)換為熱力圖并將表示關(guān)節(jié)點(diǎn)位置的熱力圖與人體圖像同時輸入到回歸關(guān)節(jié)點(diǎn)偏移量的網(wǎng)絡(luò)中,經(jīng)過多次迭代逐步回歸關(guān)節(jié)點(diǎn)的位置.基于坐標(biāo)回歸的方法為單人姿態(tài)估計早期方法,相關(guān)的研究較少,最為典型的方法為無誤差反饋方法DeepPose和IEF,因此本節(jié)將會詳細(xì)介紹這兩種方法.
圖1 基于坐標(biāo)回歸的單人姿態(tài)估計分類
Fig.1 Classification of coordinate based regression for single-person pose estimation
Toshev首次將深度學(xué)習(xí)引入到姿態(tài)估計并提出DeepPose[25].人體姿態(tài)估計目的是為了能夠回歸關(guān)節(jié)點(diǎn)的坐標(biāo),為了讓深度卷積神經(jīng)網(wǎng)絡(luò)能夠回歸出關(guān)節(jié)點(diǎn)的位置并能夠產(chǎn)生較為穩(wěn)定的預(yù)測結(jié)果,歸一化的坐標(biāo)被提出用于表達(dá)關(guān)節(jié)點(diǎn)的位置.歸一化的坐標(biāo)定義如下:輸入的圖像為x,輸入圖像包含有k個關(guān)節(jié)點(diǎn)y={y1,…,yk},第i個關(guān)節(jié)點(diǎn)的坐標(biāo)為(x,y)=yi∈y,其中輸入圖像還有邊界框信息b={bw,bn,bc}.邊界框中心的坐標(biāo)為bc,框的寬和高分別為bw和bh,那么歸一化的坐標(biāo)可以通過公式(1)獲得.
(1)
公式(1)中將絕對坐標(biāo)減去邊界框的中心點(diǎn)并除以框的寬和高從而達(dá)到歸一化的目的.
圖2 DeepPose網(wǎng)絡(luò)架構(gòu)圖
在DeepPose中作者使用AlexNet網(wǎng)絡(luò)架構(gòu),詳細(xì)的網(wǎng)絡(luò)結(jié)構(gòu)為C-LCN-P-C-LCN-P-C-C-C-P-F-F,其中C表示卷積層,LCN表示局部對比度歸一化層,P表示最大池化層,F(xiàn)表示全連接層.在該網(wǎng)絡(luò)結(jié)構(gòu)中第一層的卷積核大小為11×11,第二層的卷積核大小為5×5,隨后的網(wǎng)絡(luò)層中的卷積核為3×3,全連接階段神經(jīng)元的數(shù)目為4096,網(wǎng)絡(luò)的輸入大小為220×220,如圖2所示DeepPose網(wǎng)絡(luò)架構(gòu)圖.
DeepPose采用L2損失函數(shù)進(jìn)行訓(xùn)練,定義關(guān)節(jié)點(diǎn)回歸網(wǎng)絡(luò)為ψ,可得最優(yōu)的網(wǎng)絡(luò)參數(shù)θ:
(2)
公式(2)中DN={N(x;b),N(y;b)|(x,y)∈D},其中D為訓(xùn)練集,為了簡化表示這里作者使用N(x;b)表示使用邊界框?qū)D像進(jìn)行切割之后的圖像.
在圖2中初始階段由于網(wǎng)絡(luò)的輸入為220×220,只能夠感知到人的整體信息,并不能感受到關(guān)節(jié)點(diǎn)局部的細(xì)節(jié).為了提升模型的性能,作者提出使用多個級聯(lián)的網(wǎng)絡(luò)來學(xué)習(xí)關(guān)節(jié)點(diǎn)的精確位置.包含有S個階段的網(wǎng)絡(luò)定義如下:每個階段s∈{1,…,S},網(wǎng)絡(luò)ψ(·;θs)的參數(shù)為θs.除了第一階段網(wǎng)絡(luò)學(xué)習(xí)的是關(guān)節(jié)點(diǎn)的坐標(biāo),后續(xù)階段網(wǎng)絡(luò)學(xué)習(xí)前一階段相對于真實關(guān)節(jié)點(diǎn)位置的偏移量.給定第i個關(guān)節(jié)點(diǎn)的坐標(biāo)yi,可以通過公式(3)定義該關(guān)節(jié)點(diǎn)yi的邊界框bi.
bi(y;σ)={σdiam(y),σdiam(y),yi}
(3)
其中diam(y)表示該人的左肩膀到右胯部的距離,σ表示縮放因子.上述表述中第s階段中每個關(guān)節(jié)點(diǎn)的框bs={b1,…,bk},第s階段k個關(guān)節(jié)點(diǎn)的坐標(biāo)ys={y1,…,yk}.使用上述的定義可得如下形式化表示:
第一階段即s=1時,b0表示包圍整個人的框,因此可得.
y1←N-1(ψ(N(x;b0);θ1);b0)
(4)
公式(4)中N-1表示歸一化的坐標(biāo)進(jìn)行逆變換,將歸一化的坐標(biāo)轉(zhuǎn)換為絕對坐標(biāo).
(5)
人的視覺系統(tǒng)中包含反饋連接,而基于深度卷積神經(jīng)網(wǎng)絡(luò)的姿態(tài)估計方法中并不包含反饋連接.迭代誤差反饋(IEF)[27]將誤差反饋引入到深度卷積神經(jīng)網(wǎng)絡(luò)中從而學(xué)習(xí)人體的結(jié)構(gòu)信息,如圖3所示迭代誤差反饋框架.
圖3 迭代誤差反饋框架
圖3中輸入圖像I與二維高斯分布函數(shù)根據(jù)第t階段所預(yù)測的關(guān)節(jié)點(diǎn)坐標(biāo)yt產(chǎn)生的熱力圖g(yt)在通道這一維度進(jìn)行拼接(圖中⊕表示拼接)作為網(wǎng)絡(luò)f的輸入,網(wǎng)絡(luò)預(yù)測修正的偏移量εt,該偏移量將前一階段預(yù)測的結(jié)果yt進(jìn)行修正從而逼近真正的坐標(biāo)y.整個方法通過不斷地重復(fù)上述過程,獲得最終精確的關(guān)節(jié)點(diǎn)坐標(biāo).在該方法的初始階段網(wǎng)絡(luò)輸入的關(guān)節(jié)點(diǎn)的坐標(biāo)y0是通過計算訓(xùn)練集的平均姿態(tài)獲得.這里需要注意的是在每次迭代時,模型學(xué)習(xí)的目標(biāo)為有限度的修正即偏移量εt的長度應(yīng)該小于某個閾值,即‖t‖2 t=f(xt) (6) yt+1=yt+t (7) xt+1=I⊕g(yt+1) (8) 公式(8)中g(shù)表示二維高斯分布函數(shù),二維高斯分布函數(shù)將關(guān)節(jié)點(diǎn)坐標(biāo)編碼為熱力圖,關(guān)節(jié)點(diǎn)yt+1有K個關(guān)節(jié)點(diǎn),那么g(yt+1)將會產(chǎn)生K個熱力圖,一個熱力圖與一個關(guān)節(jié)點(diǎn)的坐標(biāo)相對應(yīng).公式(8)將K個熱力圖與輸入圖像進(jìn)行拼接.因此xt+1的大小為H×W×(K+3),其中H為輸入的高度,W為輸入的寬度.在該方法中作者使用ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練好的GoogLeNet作為基本網(wǎng)絡(luò)模型f,將該網(wǎng)絡(luò)的第一卷積層的輸入通道修改為K+3并去掉網(wǎng)絡(luò)最后一層1000個單元的全連接層,使用2K個神經(jīng)元的全連接層替代原始的全連接層. 迭代誤差反饋方法在網(wǎng)絡(luò)f和高斯分布函數(shù)g中包含有參數(shù)θf和θg,為了得到最佳的參數(shù)可進(jìn)行如下優(yōu)化. (9) 公式(9)中εt為網(wǎng)絡(luò)預(yù)測的偏移量,而e(y,yt)為所需要學(xué)習(xí)的目標(biāo)偏移量.函數(shù)h為距離度量函數(shù),T為網(wǎng)絡(luò)需要進(jìn)行反饋的次數(shù).作者使用隨機(jī)梯度下降算法優(yōu)化該網(wǎng)絡(luò). 單人姿態(tài)估計研究中大小不一的人體尺度、不同的拍攝角度、復(fù)雜的光照條件、任意的遮擋等問題加大了所需要學(xué)習(xí)映射關(guān)系的復(fù)雜度.相比于直接坐標(biāo)回歸而言,熱力圖回歸能夠保留圖像中更多的信息.因此基于大部分主流的單人姿態(tài)估計方法都是基于熱力圖回歸的.本小節(jié)從三個方面梳理了基于熱力圖回歸的單人姿態(tài)估計方法.這三個方面分別為先驗知識的引入、網(wǎng)絡(luò)架構(gòu)的改進(jìn)、關(guān)節(jié)點(diǎn)關(guān)系建模.如圖4所示基于熱力圖回歸的單人姿態(tài)估計分類. 圖4 基于熱力圖回歸的單人姿態(tài)估計分類 如圖5所示,先驗知識的引入包括引入手工先驗知識[28]以及引入學(xué)習(xí)到的先驗知識[29]. 圖5 引入先驗知識 如圖5(a)所示引入手工先驗知識,Guanghan等人[28]將傳統(tǒng)的霍夫變換特征和梯度方向直方圖作為先驗知識引入到深度卷積神經(jīng)網(wǎng)絡(luò)中,并設(shè)計了一種門控機(jī)制用于在訓(xùn)練時控制引入到網(wǎng)絡(luò)的知識從而保證在給模型施加幾何限制和圖像描述信息的同時保留模型的性能.另一種引入先驗知識的方法是定義一個可學(xué)習(xí)的相關(guān)任務(wù).如圖5(b)所示引入學(xué)習(xí)到的先驗知識.Adrian等人[29]將人體檢測這一任務(wù)所產(chǎn)生的檢測關(guān)節(jié)的熱力圖與原始圖像一起作為網(wǎng)絡(luò)的輸入,利用檢測關(guān)節(jié)的熱力圖引導(dǎo)網(wǎng)絡(luò)學(xué)習(xí)人體關(guān)節(jié)點(diǎn)的位置從而降低網(wǎng)絡(luò)學(xué)習(xí)關(guān)節(jié)點(diǎn)位置的難度. 姿態(tài)估計網(wǎng)絡(luò)架構(gòu)的改進(jìn)可以分為多尺度的特征提取、主干模型的改進(jìn)、注意力機(jī)制的引入以及關(guān)節(jié)點(diǎn)的關(guān)系建模這四個方面. 4.2.1 多尺度特征提取 多尺度特征提取包括引入特征金字塔進(jìn)行特征提取[30],將低分辨率的特征與高分辨率特征進(jìn)行融合[31]以及級聯(lián)特征提取[32]這三種典型的方法. 融資平臺的發(fā)展,關(guān)鍵在人,建立科學(xué)高效的人才管理體制,激勵好每一位員工,人盡其才。制定系統(tǒng)完備的預(yù)算管理制度,實現(xiàn)零基預(yù)算管理,更高效率的管理好每一分錢;加強(qiáng)往來資金管理,尤其是短期資金拆借的追還,安排專人負(fù)責(zé)往來資金催繳和管理。 引入特征金字塔這一類方法中最為典型的為Wei等人[31]提出的金字塔殘差模塊.在原有殘差模塊的基礎(chǔ)上,將殘差特征劃分為多個分支,每個分支使用不同縮放比例的下采樣層產(chǎn)生不同尺度的特征,然后再使用上采樣將不同尺度的特征縮放到同一大小,最后將這些特征進(jìn)行融合.這種方式的金字塔殘差模塊屬于模塊級別的多尺度特征提取. 另一種提取多尺度特征的方式屬于網(wǎng)絡(luò)架構(gòu)級別的.Rafi1等人[31]在特征提取網(wǎng)絡(luò)中將低層特征與高層特征(分辨率較小,需要使用反卷積進(jìn)行上采樣)進(jìn)行融合以保證特征提取網(wǎng)絡(luò)所提取特征是多尺度的.在輸入層面作者將兩種不同分辨率(高分辨率和低分辨率的圖像)的圖像輸入到兩個同樣架構(gòu)的特征提取網(wǎng)絡(luò)中,分別提取兩種分辨率的多尺度特征,并將低分辨率的多尺度特征進(jìn)行上采樣,然后將來自兩個網(wǎng)絡(luò)的不同分辨率的多尺度特征進(jìn)行融合從而獲得豐富的多尺度特征. Xuan等人[32]提出了級聯(lián)特征融合的思想,將三種不同分辨率的圖像作為輸入,輸入到級聯(lián)特征提取模塊中,該模塊提取三種不同大小的特征之后將低分辨率的特征與較高分辨率的特征進(jìn)行逐步融合,從而獲得多尺度特征. 4.2.2 主干模型改進(jìn) 姿態(tài)估計的目的是學(xué)習(xí)人的關(guān)節(jié)點(diǎn)的位置.拍攝角度、拍攝距離等因素導(dǎo)致圖像中的人的尺度不一,加大了姿態(tài)估計這一問題的難度.人與人之間的相互遮擋和干擾使得姿態(tài)估計變得更為棘手.如何從主干模型架構(gòu)角度解決這些問題是一個值得研究的點(diǎn).主干模型的架構(gòu)設(shè)計主要從擴(kuò)大模型感受野、區(qū)分難易樣本、保持高分辨率這幾個角度進(jìn)行設(shè)計.下面分別對幾個重要的主干模型進(jìn)行介紹. 卷積姿態(tài)機(jī)(CPM)[33]使用多個基于VGGNet[11]的子網(wǎng)絡(luò)構(gòu)成的多階段網(wǎng)絡(luò)提升整個網(wǎng)絡(luò)的感受野.每個子網(wǎng)絡(luò)使用中繼監(jiān)督緩解梯度消失問題.隨著網(wǎng)絡(luò)架構(gòu)的發(fā)展,特別是殘差網(wǎng)絡(luò)的提出,Newell等人[34]提出了一種稱之為沙漏(Hourglass)的模塊并將若干沙漏模塊堆疊起來構(gòu)成堆疊沙漏網(wǎng)絡(luò).堆疊沙漏網(wǎng)絡(luò)吸收了卷積姿態(tài)機(jī)的中繼監(jiān)督的思想,在每個階段的子網(wǎng)絡(luò)中使用了中繼監(jiān)督以彌補(bǔ)網(wǎng)絡(luò)的梯度彌散.沙漏模塊是基于殘差模塊進(jìn)行設(shè)計的.沙漏模塊中將特征進(jìn)行多次下采樣和上采樣,并將下采樣與上采樣過程中相同大小的特征進(jìn)行融合,沙漏模塊不僅能夠提取多尺度特征還能夠在增大整個網(wǎng)絡(luò)的感受野的同時進(jìn)一步降低模型計算量.值得注意的是,從堆疊沙漏模型開始,后續(xù)網(wǎng)絡(luò)開始吸收沙漏模塊設(shè)計中先降采樣再上采樣這一設(shè)計思想.級聯(lián)金字塔網(wǎng)絡(luò)(CPN)[35]是基于殘差網(wǎng)絡(luò)中的殘差模塊設(shè)計了類似的結(jié)構(gòu). 圖6 級聯(lián)金字塔網(wǎng)絡(luò) 圖6中靠近輸入圖像的為殘差網(wǎng)絡(luò)的主干網(wǎng)絡(luò)(4個實線方塊,自頂向下),殘差網(wǎng)絡(luò)將高分辨率圖像轉(zhuǎn)換為低分辨率的特征,隨后使用多個反卷積層(4個虛線方塊,自底向上)將低分辨率特征逐步恢復(fù)到高分辨率的特征.級聯(lián)金字塔網(wǎng)絡(luò)是使用殘差網(wǎng)絡(luò)的主干網(wǎng)絡(luò)進(jìn)行降采樣,并在主干網(wǎng)絡(luò)的后端加入了多個上采樣層.級聯(lián)金字塔網(wǎng)絡(luò)除了對多個上采樣層的輸出使用L2損失函數(shù)進(jìn)行監(jiān)督學(xué)習(xí)之外,還將上采樣過程中不同分辨率的特征進(jìn)行融合利用在線難關(guān)節(jié)點(diǎn)挖掘損失函數(shù)(OHKM)對難樣本進(jìn)行學(xué)習(xí),從而解決更難的樣本. 雖然上述網(wǎng)絡(luò)結(jié)構(gòu)解決了多尺度特征提取、擴(kuò)大感受野以及在訓(xùn)練過程中所面臨的梯度彌散問題,但是由于這些網(wǎng)絡(luò)中所使用的降采樣和上采樣操作會導(dǎo)致信息丟失.為了解決這一問題,高分辨率網(wǎng)絡(luò)(HRNet)[36]被提出.如圖7所示高分辨率網(wǎng)絡(luò).高分辨率網(wǎng)絡(luò)中包含多個分支網(wǎng)絡(luò),每個分支網(wǎng)絡(luò)的特征具有不同的分辨率.最頂層的分支網(wǎng)絡(luò)中的特征具有最高分辨率,最底層分支的特征具有最低分辨率.不同分支中不同分辨率的特征會進(jìn)行融合從而獲得多尺度特征,由于該架構(gòu)中最頂層分支擁有最高的分辨率并且分辨率一直保持不變因此能夠保留高分辨率信息,從而避免出現(xiàn)信息丟失問題. 4.2.3 注意力機(jī)制 在人的視覺系統(tǒng)中由于人腦的計算資源有限,需要將資源集中于需要處理的部分而注意力機(jī)制是一種可以應(yīng)對信息過載的方法.將注意力機(jī)制引入到深度卷積神經(jīng)網(wǎng)絡(luò)中能夠幫助網(wǎng)絡(luò)聚焦到需要處理的部分,從而避免出現(xiàn)不合理的預(yù)測結(jié)果.在姿態(tài)估計中人身體的區(qū)域是需要注意的部分因此引入注意力機(jī)制可以避免模型預(yù)測出不合理的人體姿態(tài),改善預(yù)測結(jié)果.注意力機(jī)制分為兩種,分別為基于條件隨機(jī)場的注意力機(jī)制以及空間-通道間注意力機(jī)制. 圖7 高分辨率網(wǎng)絡(luò) 由于條件隨機(jī)場(CRF)能夠?qū)W習(xí)特征圖中的相互關(guān)系,Xiao等人[37]使用條件隨機(jī)場替換傳統(tǒng)注意力機(jī)制中的softmax,帶有條件隨機(jī)場的注意力機(jī)制可以增強(qiáng)網(wǎng)絡(luò)學(xué)習(xí)人的輪廓,避免出現(xiàn)不合理的姿態(tài).Kai等人[38]將空間注意力和通道間的注意力同時引入到姿態(tài)估計中,使網(wǎng)絡(luò)聚焦于需要學(xué)習(xí)的區(qū)域以及相關(guān)的特征避免出現(xiàn)非人體的姿態(tài). 4.2.4 關(guān)節(jié)點(diǎn)關(guān)系建模 考慮關(guān)節(jié)點(diǎn)之間所存在位置關(guān)系,引入顯式關(guān)節(jié)間的關(guān)系建模能夠改善姿態(tài)估計方法并且從人身體的結(jié)構(gòu)去約束網(wǎng)絡(luò)可以降低任務(wù)的難度.關(guān)節(jié)點(diǎn)關(guān)系建模主要分為基于圖模型的關(guān)系建模方法以及非圖模型的關(guān)系建模方法這兩種. 基于圖模型的關(guān)系建模方法分為基于馬爾科夫隨機(jī)場和基于條件隨機(jī)場這兩種類型.如果當(dāng)前預(yù)測的熱力圖中產(chǎn)生假陽性預(yù)測區(qū)域(熱力圖中出現(xiàn)多個區(qū)域的峰值,峰值不僅出現(xiàn)在關(guān)節(jié)點(diǎn)所在區(qū)域,還出現(xiàn)在其他區(qū)域),則假陽性預(yù)測區(qū)域會降低的模型的預(yù)測精度.Tompson等人[39]首次提出使用馬爾科夫隨機(jī)場去學(xué)習(xí)關(guān)節(jié)點(diǎn)之間的關(guān)系從而消除假陽性預(yù)測區(qū)域.Wei等人[40]提出使用基于條件隨機(jī)場構(gòu)建的樹狀模型來對關(guān)節(jié)之間的關(guān)系進(jìn)行建模,將每個關(guān)節(jié)點(diǎn)看作圖中的頂點(diǎn),關(guān)節(jié)之間的關(guān)系看作邊,該方法既考慮了關(guān)節(jié)的外形特征也考慮了關(guān)節(jié)點(diǎn)之間的關(guān)系.雖然基于條件隨機(jī)場的樹狀模型能夠?qū)﹃P(guān)節(jié)點(diǎn)的關(guān)系進(jìn)行建模,但沒有考慮特征之間的關(guān)系,Xiao等人[41]改進(jìn)了上述方法,提出一種新的基于條件隨機(jī)場的方法,該方法能夠?qū)μ卣髦g以及關(guān)節(jié)點(diǎn)之間的關(guān)系進(jìn)行建模. 使用非圖模型對關(guān)節(jié)點(diǎn)之間的關(guān)系進(jìn)行建模的方法主要使用深度卷積神經(jīng)網(wǎng)絡(luò)去學(xué)習(xí)關(guān)節(jié)點(diǎn)之間的關(guān)系.Xiao等人[42]提出使用可學(xué)習(xí)的幾何變換核來學(xué)習(xí)某個關(guān)節(jié)點(diǎn)到另外一個關(guān)節(jié)點(diǎn)的幾何變換關(guān)系,并利用幾何變換核構(gòu)成的雙向樹模型對關(guān)節(jié)之間的關(guān)系進(jìn)行建模從而改善預(yù)測結(jié)果.使用樹狀或圖狀結(jié)構(gòu)對關(guān)節(jié)點(diǎn)的關(guān)系建模,需要根據(jù)問題手工設(shè)計特定的結(jié)構(gòu)且求解復(fù)雜需要進(jìn)行近似計算,而鏈狀結(jié)構(gòu)[43]能夠有效地避免這一點(diǎn).與遞歸神經(jīng)網(wǎng)絡(luò)類似,鏈狀結(jié)構(gòu)利用深度卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)相鄰關(guān)節(jié)點(diǎn)之間的依賴關(guān)系.該方法預(yù)先定義了所預(yù)測關(guān)節(jié)點(diǎn)的順序.在初始階段使用深度卷積神經(jīng)網(wǎng)絡(luò)預(yù)測第一個關(guān)節(jié)點(diǎn)的熱力圖,隨后階段將圖片特征、上一次所預(yù)測關(guān)節(jié)點(diǎn)的熱力圖作為當(dāng)前階段的輸入去預(yù)測定義好的下一個相鄰關(guān)節(jié)點(diǎn)的熱力圖.如此迭代,直至得到所有的關(guān)節(jié)點(diǎn)的熱力圖.另一種學(xué)習(xí)關(guān)節(jié)點(diǎn)的之間的信息的方法是將生成對抗網(wǎng)絡(luò)的思想引入到姿態(tài)估計中實現(xiàn)關(guān)節(jié)點(diǎn)關(guān)系的學(xué)習(xí).Yu等人[23]利用生成器產(chǎn)生熱力圖,并提出了兩種類型的判別器與生成器進(jìn)行對抗訓(xùn)練.這兩種判別器分別為置信度判別器和姿態(tài)判別器,其中置信度判別器用于強(qiáng)制讓生成器生成高置信度的熱力圖,而姿態(tài)判別器強(qiáng)制讓生成器產(chǎn)生正確的姿態(tài),這兩種判別器同時與生成器對抗,在對抗的過程中讓生成器學(xué)習(xí)關(guān)節(jié)點(diǎn)之間的關(guān)系. 基于坐標(biāo)回歸的單人姿態(tài)估計中最為特殊的一種方法是使用熱力圖表示的坐標(biāo)回歸方法,該方法保留了基于熱力圖的表示以及坐標(biāo)回歸這兩種方法的優(yōu)點(diǎn).由于直接坐標(biāo)回歸這一類方法是學(xué)習(xí)從圖像到關(guān)節(jié)點(diǎn)坐標(biāo)的直接映射,因此會丟失太多人體的空間信息,不利于網(wǎng)絡(luò)學(xué)習(xí)空間位置.而基于熱力圖回歸的單人姿態(tài)估計方法使用熱力圖表示關(guān)節(jié)點(diǎn)的位置,網(wǎng)絡(luò)學(xué)習(xí)的是從圖像到熱力圖的映射關(guān)系,因此可以充分利用圖像中的位置信息,避免丟失圖像中的空間信息,獲得更好的精度.但是基于熱力圖的方法在預(yù)測階段獲得關(guān)節(jié)點(diǎn)坐標(biāo)時取熱力圖中最大值的位置作為關(guān)節(jié)點(diǎn)的坐標(biāo)并使用逆變換將熱力圖空間的坐標(biāo)轉(zhuǎn)換到原圖空間中的坐標(biāo).這一過程中由于取最大值的位置會出現(xiàn)量化誤差導(dǎo)致最終原圖空間的坐標(biāo)出現(xiàn)較大的偏移.由于取最大值位置這一操作是不可導(dǎo)的,因此這也導(dǎo)致了無法對模型進(jìn)行端到端的優(yōu)化.為了解決這一問題,Xiao等人[44]使用熱力圖作為中間表示,并使用softmax對熱力圖進(jìn)行歸一化將熱力圖轉(zhuǎn)換為概率圖,概率圖關(guān)于概率圖中的位置計算期望從而得到精確的關(guān)節(jié)點(diǎn)的坐標(biāo).這一改進(jìn)不僅統(tǒng)一了熱力圖表示與基于坐標(biāo)回歸的方法還能夠避免基于熱力圖方法中所出現(xiàn)的量化誤差.圖8所示使用熱力圖表示的坐標(biāo)回歸. 目前主流的單人姿態(tài)估計數(shù)據(jù)集包括FLIC(Frames Labeled In Cinema)[4]、LSP(Leeds Sports Pose)[7]、MPII(Max Planck Institute for Informatics)[5]和AIC(AI Challenger)[6].表1給出了各個數(shù)據(jù)集在樣本數(shù)目、數(shù)據(jù)集的特點(diǎn)以及所標(biāo)注的關(guān)節(jié)點(diǎn)數(shù)目的對比. 表1 數(shù)據(jù)集比較 FLIC數(shù)據(jù)集從好萊塢電影中提取而來.使用人體檢測器對電影中每隔10幀的圖像幀進(jìn)行檢測,取得其中包含有人的圖像,然后使用眾包的方式對圖像進(jìn)行標(biāo)注,最終獲得2萬多張標(biāo)注圖像.LSP數(shù)據(jù)集中的圖像搜集自Flickr,數(shù)據(jù)集中大部分為運(yùn)動場景下包含有人的圖像,每個圖像都只包含單個人,每個人都縮放為150個像素高度,由于這些圖像大部分與體育相關(guān),比如羽毛球、棒球、體操、足球、網(wǎng)球等,因此該數(shù)據(jù)集具有較大的挑戰(zhàn)性.MPII數(shù)據(jù)集中的圖像從YouTube視頻中獲得,這些圖像通常都是日常生活中的各種場景,該數(shù)據(jù)集包含有2.5萬張圖像,標(biāo)注了4萬個人的樣本.AIC數(shù)據(jù)集中的圖像從網(wǎng)絡(luò)爬取得到,整個數(shù)據(jù)集包含有30萬張圖像,其規(guī)模最大,也更具挑戰(zhàn)性,該數(shù)據(jù)集包含有70萬個人的樣本.每個人標(biāo)注的關(guān)節(jié)點(diǎn)的數(shù)目為14個. 由于深度學(xué)習(xí)的出現(xiàn),單人姿態(tài)估計雖然取得了不錯的進(jìn)展,但其作為計算機(jī)視覺的基礎(chǔ)問題,尤其是多人姿態(tài)估計、人機(jī)交互、行為識別等領(lǐng)域的基礎(chǔ),仍面臨一些挑戰(zhàn). 1)數(shù)據(jù)集差異性 由于基于深度學(xué)習(xí)的方法非常依賴所標(biāo)注的數(shù)據(jù),目前現(xiàn)有的姿態(tài)估計數(shù)據(jù)集,各有側(cè)重點(diǎn),某些數(shù)據(jù)集側(cè)重于運(yùn)動場景,某些數(shù)據(jù)集側(cè)重于日常生活場景.這就造成使用不同的數(shù)據(jù)集訓(xùn)練出的模型轉(zhuǎn)換到另一個場景下或許并不能獲得很好的性能,因此如何克服數(shù)據(jù)集之間的差異性是姿態(tài)估計走向?qū)嵱玫闹匾獑栴}. 2)人體遮擋 拍攝角度的不同,人與人的位置關(guān)系的不同會導(dǎo)致圖像中出現(xiàn)自遮擋和其他物體遮擋人體的情形,雖然現(xiàn)有的方法能夠一定程度處理遮擋問題,但是會造成模型的過擬合,在某些特殊情況下會出現(xiàn)假陽性的情形.如何解決遮擋問題是姿態(tài)估計中長期面臨的問題. 3)低分辨率圖像 來自室外監(jiān)控攝像頭可能包含有低分辨率的人體圖像,如何解決低分辨率下人體的姿態(tài)估計是一個迫切需要研究的問題. 4)實時性與高效性 由于目前現(xiàn)有的姿態(tài)估計方法計算量較大,如何設(shè)計輕量級的網(wǎng)絡(luò)架構(gòu)或者通過神經(jīng)架構(gòu)搜索等方法獲得輕量級網(wǎng)絡(luò)從而降低模型的參數(shù)量和計算量是單人姿態(tài)估計落地所面臨的重要問題. 5)少樣本問題 當(dāng)前單人姿態(tài)估計方法需要大量標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練才能取得不錯的效果,但是數(shù)據(jù)標(biāo)注費(fèi)時費(fèi)力,在某些特殊場景下比如醫(yī)療場景下標(biāo)注的數(shù)據(jù)較少,如何實現(xiàn)少樣本的姿態(tài)估計也是一個值得研究的方向. 6)與其他領(lǐng)域相結(jié)合 單人姿態(tài)估計應(yīng)用到二維人體圖像生成、人的三維模型生成、人的意圖識別、人與物體之間的關(guān)系識別等領(lǐng)域進(jìn)行結(jié)合是姿態(tài)估計發(fā)展過程中新的趨勢. 本文在對單人姿態(tài)估計進(jìn)行廣泛研究的基礎(chǔ)上,旨在介紹基于深度學(xué)習(xí)的單人姿態(tài)估計的研究現(xiàn)狀.首先介紹了與單人姿態(tài)估計有關(guān)的基礎(chǔ)研究包括深度卷積神經(jīng)網(wǎng)絡(luò)和生成對抗網(wǎng)絡(luò)的發(fā)展歷程.然后從三個方面介紹了單人姿態(tài)估計的研究現(xiàn)狀:基于直接坐標(biāo)回歸的方法、基于熱力圖回歸的方法以基于熱力圖表示的直接坐標(biāo)回歸方法,并給出了常用的數(shù)據(jù)集的特點(diǎn)以及介紹.本文的最后對未來單人姿態(tài)估計的發(fā)展趨勢進(jìn)行展望以及仍然面臨的一些問題進(jìn)行闡述.4 基于熱力圖回歸的單人姿態(tài)估計
4.1 先驗知識的引入
4.2 網(wǎng)絡(luò)架構(gòu)的改進(jìn)
5 基于坐標(biāo)回歸的單人姿態(tài)估計(使用熱力圖表示)
6 數(shù)據(jù)集
7 發(fā)展趨勢與展望
8 結(jié)束語