張增會 姚彥鑫
摘要:近年來隨著深度學(xué)習(xí)和人工智能的蓬勃發(fā)展,人體姿態(tài)檢測逐漸成為計算機視覺領(lǐng)域研究的熱點問題,許許多多的人體姿態(tài)檢測方法和研究理論也在被不斷地提出。人體姿態(tài)檢測可以理解為人體關(guān)鍵點識別以及連接問題,本文通過對姿態(tài)檢測的算法的描述,主要介紹單人與多人這兩種主要人體姿態(tài)檢測的主流算法,同時重點對于多人場景下的人體姿態(tài)檢測算法介紹。通過對不同算法的對比得出各個算法的優(yōu)缺點,并對人體姿態(tài)檢測的應(yīng)用進行闡述。本文的結(jié)尾結(jié)合人體姿態(tài)檢測領(lǐng)域的發(fā)展現(xiàn)狀,對此領(lǐng)域的未來發(fā)展趨勢進行展望。
關(guān)鍵詞:深度學(xué)習(xí);人體姿態(tài)檢測;人體關(guān)鍵點識別
中圖分類號:TP311? ? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2021)27-0092-02
1 概述
隨著計算機技術(shù)的不斷進步以及人工智能時代的來臨,人體姿態(tài)識別技術(shù)已經(jīng)成了計算機視覺領(lǐng)域不可或缺的一部分,也越來越引起各個國家和科研機構(gòu)的重視。人體姿態(tài)檢測作為計算機視覺當(dāng)下的研究熱點,在生活中也具有十分廣泛的應(yīng)用,例如在視頻監(jiān)控?zé)┠莻€面對公共領(lǐng)域的安全問題進行保障,以及在人機交互方面增強人與機器之間的流暢度。
一般來說人體姿態(tài)檢測從算法層面上講就是先使用卷積神經(jīng)網(wǎng)絡(luò)將圖片或者視頻中的人體的關(guān)鍵節(jié)點檢測出來,然后對這些關(guān)鍵點進行連接的一個過程。通過對人體不同的關(guān)鍵點之間的連接得到人體完整的人體節(jié)點信息。在將深度學(xué)習(xí)算法應(yīng)用于人體姿態(tài)檢測之前,不少算法采用基于圖形結(jié)構(gòu)[1]算法來處理人體姿態(tài)檢測問題。這些方法主要是基于局部檢測器,局部檢測器使用的原理即通過人體關(guān)鍵點之間的內(nèi)在聯(lián)系來建立模型,雖然在識別精確度方面有所提高,但是往往容易受到拍攝角度以及光照等不確定因素的影響。除此之外還容易受到人工標(biāo)注等因素的制約,如邊緣特征[2],方向梯度直方圖[3],此種標(biāo)注需要耗費大量的人力和物力。
人體姿態(tài)估計通??梢苑譃槎S人體姿態(tài)和三維人體姿態(tài)兩種,由于在現(xiàn)實生活中需要處理的圖像大多為二維圖像,所以一般來說我們理解的人體姿態(tài)檢測為二維人體姿態(tài)檢測。本文亦是針對二維條件下的人體姿態(tài)檢測算法進行綜述,根據(jù)不同的算法的不同應(yīng)用場景,有隊人體姿態(tài)檢測分為單人和多人兩種情況分別介紹。
2單人人體姿態(tài)檢測算法
2.1堆疊沙漏網(wǎng)絡(luò)算法
堆疊沙漏網(wǎng)絡(luò)[4](Stacked Hourglass Network)作為當(dāng)下人體姿態(tài)檢測算法以定位精度著稱,該網(wǎng)絡(luò)以殘差網(wǎng)絡(luò)為基本模塊,該模塊可以在提取圖像高層特征的同時保留低層的信息,利用殘差網(wǎng)絡(luò)的購車還能夠給可以更加有效的提取不同尺度的特征信息,除此之外,使用多個沙漏網(wǎng)絡(luò)進行堆疊對于捕捉不同特征點間的空間關(guān)系也具有十分重要的作用,通過對多個沙漏模塊的堆疊,通過卷積層和下采樣層之后,與隨后的上采樣層獲取的特征進行融合,最終獲得圖像的多尺度的特征圖,由此可以多層次的提取圖像中多尺度特征,與殘差網(wǎng)絡(luò)中可能出現(xiàn)的特征丟失相互補。
2.2卷積姿態(tài)機
卷積姿態(tài)機(convolutional pose machines)[5]主要繼承了姿態(tài)機(Pose Mchines)的優(yōu)點,主要突出了學(xué)習(xí)和推理之間的緊密結(jié)合,解決了多個關(guān)鍵點之間的長距離依賴以及圖像的隱式學(xué)習(xí)問題。卷積姿態(tài)機主要還發(fā)揮了姿態(tài)機和卷積網(wǎng)絡(luò)二者相互結(jié)合的優(yōu)點,既可以通過學(xué)習(xí)圖像的特征,又可以提高空間上下文的表達能力,同時又可以進行全局聯(lián)合訓(xùn)練,對于大規(guī)模處理數(shù)據(jù)集具有很好的效果。卷積姿態(tài)機的主要算法思想即是通過卷積神經(jīng)網(wǎng)絡(luò)對空間信息的表達進行有效的學(xué)習(xí),又由于身體部位不同的關(guān)鍵點可以適配不同的感受野,因此可以對不同的部位進行不同程度的檢測。首先該方法對原始圖像中的單個個體目標(biāo)的關(guān)鍵點進行預(yù)測,此種預(yù)測方法主要可以使用直接回歸關(guān)鍵點坐標(biāo)的方法,以及通過heatmap來確定關(guān)鍵點的回歸。
3多人人體姿態(tài)檢測算法
多人姿態(tài)檢測與單人姿態(tài)檢測算法不同,多人姿態(tài)檢測算法要求在將圖片中人體關(guān)鍵點檢測出來的同時還要將每個人的關(guān)鍵點進行準(zhǔn)確的劃分。一般來說可以分為自上而下和自下而上兩種方法。其中自上而下的方法又包括人體檢測和單個人體關(guān)鍵點檢測兩個部分,即先通過目標(biāo)檢測算法將圖像中存在的人體檢測出來,然后在檢測出人體的基礎(chǔ)上,對每個人體的關(guān)鍵點進行檢測。而自下而上的方法則是包含關(guān)鍵點檢測以及對檢測出的關(guān)鍵點進行聚類組合兩部分,首先將圖像中所有人的關(guān)鍵點檢測出來,而后對檢測出的關(guān)鍵點進行聚類分析,進一步組合成不同的個體。以下對兩種方法進行不同介紹。
3.1自上而下方法
在當(dāng)下的眾多自上而下人體姿態(tài)檢測算法中,比較有代表性的主要包括G-RMI算法[6],AlphaPose[7]算法以及CPN( cascaded pyramid network)[8]算法等。G-RMI算法主要解決的是各種復(fù)雜場景下的人與人在有遮擋的情況下對人體姿態(tài)進行識別的問題,主要利用的是FastRCNN[9]檢測圖片中人體的目標(biāo)框的相應(yīng)位置和大小,然后對每個位置框中的人體關(guān)鍵點進行檢測。對于每種關(guān)鍵點的類型的預(yù)測,使用ResNet預(yù)測出關(guān)鍵點的heatmap以及相關(guān)的偏移量,并且結(jié)合相應(yīng)的輸出引入了新的聚合方法對關(guān)鍵點進行精準(zhǔn)的預(yù)測,為了避免對相應(yīng)的關(guān)鍵點的重復(fù)檢測,該算法采用了基于OKS指標(biāo)的新型非極大值抑制(NMS)機制,而不是采用比較粗糙的基于邊界框的NMS。
CPN網(wǎng)絡(luò)主體主要由兩部分組成,分別是GlobalNet和RefineNet。GlobalNet主要對圖像中的關(guān)鍵點進行粗提取,RefineNet主要是基于GlobalNet生成的特征金字塔,主要用于對不同的層之間的信息進行整合,更好地對關(guān)鍵點進行特征定位。
3.2自下而上方法