一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的人體姿勢(shì)識(shí)別方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于模式識(shí)別與信息處理技術(shù)領(lǐng)域,涉及計(jì)算機(jī)視覺(jué)方面的行為識(shí)別任 務(wù),尤其涉及基于深度卷積神經(jīng)網(wǎng)絡(luò)的人體姿勢(shì)估計(jì)系統(tǒng)的研究與實(shí)現(xiàn)方案。
【背景技術(shù)】
[0002] 人體姿勢(shì)估計(jì)是指在圖像中定位人體關(guān)節(jié)或人體各部分位置的過(guò)程。它是計(jì)算機(jī) 視覺(jué)中的一個(gè)關(guān)鍵問(wèn)題,是基于圖像的行為識(shí)別的基礎(chǔ)技術(shù)。人體姿勢(shì)估計(jì)可被用于視覺(jué) 監(jiān)控系統(tǒng),人體分割,機(jī)器人控制,體感游戲等領(lǐng)域。人體姿勢(shì)估計(jì)的難點(diǎn)在于:身體關(guān)節(jié)點(diǎn) 小,不易檢測(cè);身體自身遮擋嚴(yán)重,外貌變化大,面內(nèi)和面外旋轉(zhuǎn)(in-planeandout-plane rotations)造成視覺(jué)變化大。姿勢(shì)估計(jì)的主流方法都是基于圖結(jié)構(gòu)模型(PS,Pictorial StructuresModel)的。圖結(jié)構(gòu)模型是一個(gè)通用物體結(jié)構(gòu)表達(dá)模型。在圖結(jié)構(gòu)模型下,一個(gè) 物體(或人)的結(jié)構(gòu)被表示為一個(gè)一元項(xiàng)和一個(gè)二元項(xiàng)的和,其中,一元項(xiàng)表示人體單獨(dú)的 一個(gè)部分,二元項(xiàng)表示兩個(gè)(或多個(gè))部分之間的空間關(guān)系。一元項(xiàng)和二元項(xiàng)的和構(gòu)成一 個(gè)能量函數(shù),最小化這個(gè)能量函數(shù)可以得到一個(gè)最優(yōu)的結(jié)構(gòu)表達(dá)?;趫D結(jié)構(gòu)的人體姿勢(shì) 估計(jì)方法的流程為:
[0003] 1.人體每個(gè)單獨(dú)部分的表示。通常的方法是在人體的特定部分提取圖像特征來(lái)訓(xùn) 練可以表示該部分的模板。在訓(xùn)練好模板以后,以重疊的滑動(dòng)窗口(overlappingsliding windows)去掃描圖片,檢測(cè)出許多可能的位置;
[0004] 2.人體各個(gè)部分的空間關(guān)系的表示。人體各部分空間約束可以是多方面的,例如, 各個(gè)部分同時(shí)出現(xiàn)的概率,在同一直線上的概率以及角度關(guān)系,距離約束等等??臻g約束構(gòu) 成了圖結(jié)構(gòu)模型的二元項(xiàng);
[0005] 3.人體姿勢(shì)推理。由于人體姿勢(shì)復(fù)雜多樣,人體各部分之間存在多種空間約束。 如果對(duì)人體各個(gè)部分都施加約束,最終會(huì)形成一個(gè)圖。這個(gè)圖的點(diǎn)(node)表示人體的各個(gè) 部分(即一元項(xiàng)),邊(edge)表示人體各個(gè)部分的約束(即二元項(xiàng))。優(yōu)化這樣一個(gè)問(wèn)題 會(huì)耗費(fèi)大量時(shí)間,甚至使問(wèn)題不可計(jì)算。為了高效的推理出人體姿勢(shì),通常會(huì)將各個(gè)部分之 間的約束簡(jiǎn)化為兩個(gè)相鄰部分的空間約束,即圖結(jié)構(gòu)簡(jiǎn)化為樹(shù)形結(jié)構(gòu)。
[0006]傳統(tǒng)方法有兩個(gè)局限性。首先,人工設(shè)計(jì)的圖像特征具有局限性,例如,有的特征 適合表示具有清晰紋理的物體,有的特征適合表示具有清晰輪廓的物體。設(shè)計(jì)一種適合人 體姿勢(shì)估計(jì)的特征需要大量的經(jīng)驗(yàn)和研究。除此之外,空間模型也具有局限性。傳統(tǒng)的人體 姿勢(shì)估計(jì)方法為了計(jì)算效率,通常需要假設(shè)人體姿勢(shì)構(gòu)成樹(shù)形結(jié)構(gòu)。這種假設(shè)顯然會(huì)限制 其模型的表達(dá)能力,例如,在有人體存在自身遮擋的情況下,人體姿勢(shì)通常并不是樹(shù)形的, 而是有環(huán)圖。在樹(shù)形結(jié)構(gòu)的假設(shè)下,人體姿勢(shì)估計(jì)的準(zhǔn)確度和使用范圍都被限制了。
[0007]深度學(xué)習(xí)技術(shù)的逐漸成熟,為人體姿勢(shì)估計(jì)提供了新的工具。基于深度學(xué)習(xí)的方 法可以分為兩類(lèi):一類(lèi)是利用深度卷積神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)圖像特征,以代替?zhèn)鹘y(tǒng)的人工設(shè)計(jì) 的特征;另一類(lèi)是利用深度卷積神經(jīng)網(wǎng)絡(luò)的非線性映射做非線性推理,以突破樹(shù)形結(jié)構(gòu)的 限制。但現(xiàn)有的基于深度學(xué)習(xí)的方法主要有以下缺陷:
[0008] 1.大多數(shù)方法只是簡(jiǎn)單地將AlexNet直接應(yīng)用到姿勢(shì)估計(jì)中。而AlexNet最初是 為圖像分類(lèi)任務(wù)而設(shè)計(jì)的;
[0009] 2.大多數(shù)方法將人體關(guān)節(jié)定位問(wèn)題闡述為回歸問(wèn)題,這樣的闡述雖然簡(jiǎn)單,但卻 讓深度網(wǎng)絡(luò)的訓(xùn)練變得困難;
[0010] 3?有的方法通過(guò)訓(xùn)練基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)器(ConvolutionalPart Detector)來(lái)檢測(cè)人體部分的位置。這種方法具有較好的準(zhǔn)確度,但由于其需要使用滑窗進(jìn) 行檢測(cè),它的效率并不高;
[0011] 為了解決這些問(wèn)題,本方法為姿勢(shì)估計(jì)闡述為分類(lèi)問(wèn)題,并設(shè)計(jì)了一個(gè)針對(duì)姿勢(shì) 估計(jì)的深度網(wǎng)絡(luò):ILPN(Independent Losses Pose Net)來(lái)進(jìn)行關(guān)節(jié)定位。在FLIC dataset 上的結(jié)果表明,我們的方法取得了當(dāng)前最高的準(zhǔn)確率。在Buffy dataset上的跨數(shù)據(jù)集泛 化能力(cross-dataset generalization)測(cè)試取得了具有競(jìng)爭(zhēng)力的結(jié)果。值得一提的是, 我們的模型訓(xùn)練和測(cè)試都是在廉價(jià)設(shè)備(Dual-Core CPU+NV GTX750)上進(jìn)行的。
【發(fā)明內(nèi)容】
[0012] 本發(fā)明的目的在于提出一種快速準(zhǔn)確地估計(jì)出RGB圖像中人體姿勢(shì)的方法,由 此,為基于圖像的行為識(shí)別提供良好的基礎(chǔ)。
[0013] 為了克服傳統(tǒng)姿勢(shì)估計(jì)方法由于人工設(shè)計(jì)圖像特征和空間模型導(dǎo)致姿勢(shì)估計(jì)準(zhǔn) 確度上的不足,本發(fā)明研究了如何在保證姿勢(shì)估計(jì)速度的前提下,獲得更高的姿勢(shì)準(zhǔn)確率。 本發(fā)明設(shè)計(jì)了一個(gè)名為ILPN(IndependentLossesPoseNet)的模型。該模型具有的獨(dú)立 輸出層和獨(dú)立損失函數(shù)是為人體關(guān)節(jié)定位而設(shè)計(jì)的。ILPN由一個(gè)輸入層,7個(gè)隱含層,2個(gè) 獨(dú)立的輸出層組成。其中第1~6個(gè)隱含層(convl~conv6)是卷積層(convolutional layer),用于特征提取,第7個(gè)隱含層(fc7)是全連接層(fully-connectedlayer)。輸出 層由兩個(gè)獨(dú)立的部分組成:fc8_x和fc8_y。其中fc8_x用于預(yù)測(cè)關(guān)節(jié)的X坐標(biāo),fc8_y用 于預(yù)測(cè)關(guān)節(jié)的y坐標(biāo)。在模型訓(xùn)練時(shí),這兩個(gè)輸出都會(huì)有一個(gè)獨(dú)立的softmax損失函數(shù)來(lái) 指導(dǎo)模型的學(xué)習(xí)。
[0014] 一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的人體姿勢(shì)識(shí)別方法,該方法包括:
[0015] 步驟1:獲得訓(xùn)練圖像并對(duì)圖像進(jìn)行預(yù)處理:首先對(duì)訓(xùn)練圖像進(jìn)行數(shù)據(jù)擴(kuò)展,再對(duì) 擴(kuò)展后的圖像進(jìn)行灰度處理;
[0016] 步驟2:使用步驟1獲得的訓(xùn)練樣本訓(xùn)練人體姿勢(shì)的神經(jīng)網(wǎng)絡(luò);
[0017] 步驟2. 1:對(duì)圖像依次進(jìn)行卷積處理,Max Pooling處理,局部響應(yīng)歸一化處理,為 神經(jīng)網(wǎng)絡(luò)的第一層;
[0018] 步驟2. 2:對(duì)步驟2. 1的結(jié)果依次進(jìn)行卷積處理,局部響應(yīng)歸一化處理,為神經(jīng)網(wǎng) 絡(luò)的第二層;
[0019] 步驟2. 3:對(duì)步驟2. 2的結(jié)果依次進(jìn)行4次卷積處理,為神經(jīng)網(wǎng)絡(luò)的第四~六層; 步驟2. 4:將第六層以全連接的方式獲得第七層;
[0020] 步驟2. 5 :將第七層以全連接的方式獲得輸出層:輸出層被分為兩個(gè)獨(dú)立的部分, 每個(gè)部分都額外與一個(gè)獨(dú)立的損失函數(shù)相連接,分別計(jì)算模型預(yù)測(cè)的X和y坐標(biāo)的誤差,即 在后向傳播時(shí),兩個(gè)損失函數(shù)獨(dú)立計(jì)算后向傳播的梯度,輸出層兩個(gè)獨(dú)立的部分也獨(dú)立計(jì) 算后向傳播的梯度;當(dāng)這兩部分的梯度都計(jì)算完成后,第七層對(duì)這兩部分的梯度求和并計(jì) 算自己的梯度;通過(guò)計(jì)算輸出層兩個(gè)獨(dú)立部分的最強(qiáng)響應(yīng)神經(jīng)元,獲得一個(gè)人體關(guān)節(jié)的坐 標(biāo)。
[0021] 步驟2. 6 :依次使用訓(xùn)練圖像多次重復(fù)步驟2. 1~步驟2. 6的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò), 直到模型的損失收斂,即損失降到一定程度后不再降低,獲得可準(zhǔn)確定位人體關(guān)節(jié)的神經(jīng) 網(wǎng)絡(luò);
[0022] 步驟2. 7 :通過(guò)步驟2. 1~步驟2. 6,對(duì)每個(gè)關(guān)節(jié)訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)獲得多 個(gè)不同關(guān)節(jié)的坐標(biāo),這些坐標(biāo)最終構(gòu)成一個(gè)完整的人體姿勢(shì);
[0023] 步驟3:利用獲得測(cè)試圖像,利用步驟2訓(xùn)練得到的人體姿勢(shì)估計(jì)神經(jīng)網(wǎng)絡(luò)來(lái)估計(jì) 測(cè)試圖像中的人體姿勢(shì);最后,通過(guò)查找步驟1中獲得的坐標(biāo)映射表,將統(tǒng)一尺度下的人體 姿勢(shì)映射回原圖像尺度下。
[0024] 進(jìn)一步的,所述步驟1中對(duì)訓(xùn)練圖像的數(shù)據(jù)擴(kuò)展包括:對(duì)圖像RGB通道及其標(biāo)注同 時(shí)進(jìn)行多次中心旋轉(zhuǎn),水平平移,水平翻轉(zhuǎn)以及將圖像尺寸伸縮到統(tǒng)一大小。
[0025] 本發(fā)明具有以下優(yōu)點(diǎn):
[0026] 將關(guān)節(jié)定位問(wèn)題建模為坐標(biāo)分類(lèi)問(wèn)題,而不是回歸問(wèn)題。這極大地降低了模型的 訓(xùn)練難度。因?yàn)樽鴺?biāo)分類(lèi)問(wèn)題將模型的輸出約束到圖片坐標(biāo)空間之內(nèi),而回歸問(wèn)題的輸出 是整個(gè)實(shí)數(shù)空間。同時(shí),兩個(gè)獨(dú)立的輸出層以及獨(dú)立的損失函數(shù)在模型訓(xùn)練是可以避免相 互干擾。模型不會(huì)因?yàn)閒c8_x的錯(cuò)誤輸出而懲罰fc8_y,反之亦然。最后,因?yàn)閒c8-x和 fc8_y預(yù)測(cè)的是同一個(gè)關(guān)節(jié)坐標(biāo)的不同維度,所以他們可以共享該關(guān)節(jié)的視覺(jué)特征,即共享 convl~conv6所提取的特征。
[0027] 1.從姿勢(shì)估計(jì)的準(zhǔn)確度考慮,本發(fā)明利用深度卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的學(xué)習(xí)能力學(xué)習(xí) 對(duì)人體姿勢(shì)估計(jì)有效的圖像特征,避免了人工設(shè)計(jì)的圖像特征的局限性;
[0028] 2.從方法的適用范圍考慮,本發(fā)明利用深度神經(jīng)網(wǎng)絡(luò)對(duì)圖像特征進(jìn)行非線性映射 來(lái)獲得人體姿勢(shì),本發(fā)明避免了人工設(shè)計(jì)空間模型的局限性;
[0029] 3.從模型訓(xùn)練效率和系統(tǒng)運(yùn)行效率考慮,本發(fā)明的深度卷積神經(jīng)網(wǎng)絡(luò)的輸出層經(jīng) 過(guò)特殊設(shè)計(jì),具有易訓(xùn)練,準(zhǔn)確度高的特點(diǎn)。通過(guò)合理控制深度卷積神經(jīng)網(wǎng)絡(luò)的規(guī)模。使系 統(tǒng)在運(yùn)行時(shí)節(jié)省了空間和時(shí)間開(kāi)銷(xiāo)。
【附圖說(shuō)明】
[0030]圖1是本發(fā)明所述的系統(tǒng)框架。
[0031] 圖2是本發(fā)明所述的深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。