祝 睿,薛文華,李汶艾,伍釗圻,邱 雪
(1.成都加百力科技有限公司,四川 成都 610000;2.成都市郫都區(qū)郫筒一小,四川 成都 611730;3.成都市草堂小學(xué)西區(qū)分校,四川 成都 610073;4.新疆克拉瑪依市第八小學(xué),新疆 克拉瑪依 834000)
姿勢識別是計算機(jī)研究領(lǐng)域的重要問題,在現(xiàn)實(shí)中具有廣泛的應(yīng)用場景。一般而言,可以根據(jù)識別技術(shù)的不同,劃分為兩種研究范疇。第一種是根據(jù)特定傳感器設(shè)備輸入的信息,對姿勢進(jìn)行判斷,比如智能手環(huán)、智能眼鏡等。另一種方式是通過影像設(shè)備捕捉人體的圖片,然后利用計算機(jī)視覺,判斷人體的姿勢。其基本的流程是通過攝像頭獲得人體的圖片,然后通過背景處理,將圖片中的人物信息進(jìn)行提取。在提取人物信息的基礎(chǔ)上,對人物的關(guān)鍵部位或者輪廓進(jìn)行識別,然后提取關(guān)鍵部位的特征,對人物的姿勢進(jìn)行判斷。采用攝像機(jī)獲取人物圖片較為方便,但是更容易受到各類背景數(shù)據(jù),比如光照強(qiáng)度等的影響,需要精度更高的算法對人體姿勢進(jìn)行識別。
姿勢識別具有豐富的應(yīng)用場景,可以應(yīng)用于游戲、工業(yè)、教育、醫(yī)療衛(wèi)生等眾多領(lǐng)域。通過姿勢識別能夠針對目標(biāo)群體,比如小孩、老人等進(jìn)行一定的識別,當(dāng)其處于危險或者不良姿勢習(xí)慣時進(jìn)行干預(yù)。目前,常用的姿勢識別模型包括各類神經(jīng)網(wǎng)絡(luò)算法,本文的目的是構(gòu)建一種輕型的姿勢識別模型。BP神經(jīng)網(wǎng)絡(luò)具有實(shí)現(xiàn)速度快,識別效果較好等特點(diǎn)。為更好的對姿勢進(jìn)行識別,本文進(jìn)一步采用Adaboost模型提升BP神經(jīng)網(wǎng)絡(luò)模型的識別效果。
姿勢識別一直是計算機(jī)領(lǐng)域的研究熱點(diǎn),Tseng等[1]針對人臉以及表情識別進(jìn)行研究。在人臉識別中,采用膚色檢測的方式提取人臉的信息,然后識別人臉的不同五官信息。Fischler[2]建立了圖結(jié)構(gòu)模型,通過計算與模板圖的距離等方式,來判斷人體姿態(tài),但是這種方法的精度相對較低。Toshev和Christian Szegedy等[3]構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)Deeppose,采用該神經(jīng)網(wǎng)絡(luò)對圖片中的多人姿勢進(jìn)行識別。其關(guān)鍵在于對不同人體的關(guān)鍵點(diǎn)進(jìn)行提取,采用關(guān)鍵點(diǎn)作為姿勢的特征信息,然后基于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行分類學(xué)習(xí)。Tompson[4]基于熱力圖信息構(gòu)建姿勢識別模型,其核心在于采用關(guān)鍵點(diǎn)的熱力圖作為特征,構(gòu)建神經(jīng)網(wǎng)絡(luò)模型進(jìn)行姿勢識別。
我國學(xué)者方面,馮文宇等[5]基于OpenPose開發(fā)智能姿勢識別模型,進(jìn)一步提升了模型的識別效率與精度。通過權(quán)值修剪等,進(jìn)一步提高了信息特征的濃度,在測試中檢測速度提高三倍,并且精度高于80%。龔銳[6]采用MTCNN神經(jīng)網(wǎng)絡(luò)模型對人體姿勢進(jìn)行識別,并進(jìn)行人物跟蹤。其關(guān)鍵技術(shù)是采用ArcFace提取人物的臉部特征,然后根據(jù)人臉特征,對應(yīng)相關(guān)的人物,并對其姿勢動作進(jìn)行連續(xù)識別。翟煜[7]則針對傳感器信息進(jìn)行人體姿勢識別,并構(gòu)建增強(qiáng)的支持向量機(jī),結(jié)合偏二叉決策樹,對處于不同動作狀態(tài)的人體姿勢進(jìn)行識別,其模型具體效率較高、復(fù)雜性較低、準(zhǔn)確性較高等特點(diǎn)。
姿勢識別主要包括以下環(huán)節(jié):①圖像預(yù)處理。首先獲取圖片,然后提取圖像的單幀信息,去除背景等信息,并進(jìn)行數(shù)據(jù)平滑與去噪。②對人體區(qū)域進(jìn)行分割,并識別人體關(guān)鍵點(diǎn)。③提取關(guān)鍵點(diǎn)的特征信息,構(gòu)建姿勢識別的特征向量。④采用模型對特征進(jìn)行計算,分析人體姿勢的狀態(tài)。本文主要針對第四點(diǎn)進(jìn)行分析,并且本文為了研究一種輕量的姿態(tài)識別算法,選擇采用BP神經(jīng)網(wǎng)絡(luò)模型。采用BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行姿勢識別的構(gòu)建步驟如下。
(1)初始化網(wǎng)絡(luò)及學(xué)習(xí)參數(shù)。BP神經(jīng)網(wǎng)絡(luò)模型主要分為輸入層、隱含層、輸出層,各層之間單層全連接。在初始化階段,將神經(jīng)單元之間的連接權(quán)重設(shè)置為[-1,1]之間的隨機(jī)數(shù)。
(2)輸入訓(xùn)練樣本。將標(biāo)注好不同姿勢狀態(tài)的圖片特征信息輸入到BP神經(jīng)網(wǎng)絡(luò)模型中,作為建模的素材來源。
(3)正向傳播過程。對于輸入的姿勢圖像特征,隱藏層根據(jù)不同的神經(jīng)單元的激勵函數(shù)以及連接權(quán)重,計算輸出結(jié)果,然后根據(jù)結(jié)構(gòu)對姿勢狀態(tài)進(jìn)行判斷。如果判斷誤差在一定范圍以外,則進(jìn)行第(4)步,否則返回到第(2)步,接收新的訓(xùn)練樣本。
(4)反向傳播過程。
該步驟根據(jù)對姿勢判斷的結(jié)構(gòu),調(diào)整BP神經(jīng)網(wǎng)絡(luò)模型不同神經(jīng)單元之間的連接權(quán)重,首先計算姿勢判斷的誤差 ,然后根據(jù)公式(1)對隱藏層的神經(jīng)單元權(quán)重進(jìn)行修正。
(5)重新訓(xùn)練。通過反向轉(zhuǎn)播對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)整后,重新對樣本進(jìn)行計算,并更新誤差。如果誤差處于可接受狀態(tài)或者迭代次數(shù)到達(dá)一定的范圍,則結(jié)束訓(xùn)練,返回模型,否則重復(fù)第(4)步,對BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行修正。
一般而言,直接將BP神經(jīng)網(wǎng)絡(luò)模型用于姿態(tài)的識別可能存在效果較差等問題,因此本文采用Adaboost模型對其效果進(jìn)行增強(qiáng)。Adaboost模型是一種迭代學(xué)習(xí)框架,可以有效地提升弱學(xué)習(xí)器的預(yù)測效果。
(1)初始化權(quán)重,為每個樣本分配權(quán)重,如公式(2)所示。
根據(jù)公式(6)綜合不同學(xué)習(xí)模型的預(yù)測結(jié)果。
式中,f代表不同模型的投票,也就是選擇獲得投票數(shù)最多的姿勢作為模型的輸出結(jié)果。
為分析Adaboost-BP神經(jīng)網(wǎng)絡(luò)模型對圖像中姿勢識別的效果,本文基于COCO數(shù)據(jù)集合進(jìn)行識別。COCO數(shù)據(jù)集合是微軟構(gòu)建的大型的目標(biāo)檢測的數(shù)據(jù)集。本文在實(shí)證中,首先采用OpenPose識別COCO圖像中的人體關(guān)鍵點(diǎn),然后采用傅里葉變換對關(guān)鍵點(diǎn)進(jìn)一步提取特征,然后將COCO圖像集合中的動作進(jìn)行分類,劃分為叉腰、揮手等動作類型,采用BP神經(jīng)網(wǎng)絡(luò)、Adaboost-BP神經(jīng)網(wǎng)絡(luò)模型、支持向量機(jī)以及CNN卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)證。在訓(xùn)練中,采用3200張圖片進(jìn)行訓(xùn)練,另外400張圖片進(jìn)行測試。采用遺傳算法獲得Adaboost-BP神經(jīng)網(wǎng)絡(luò)模型的最優(yōu)參數(shù),如表1所示。
表1 遺傳算法Adaboost-BP神經(jīng)網(wǎng)絡(luò)最優(yōu)參數(shù)
如表1所示,神經(jīng)網(wǎng)絡(luò)單元的結(jié)構(gòu)是輸入變量49 862個,3 621個隱藏神經(jīng)單元,7個輸出單元。學(xué)習(xí)率為0.076,隱藏層以及輸出層采用sigmoid函數(shù),識別效果如下:
圖1 識別效果
同時,為了與未采用Adaboost的BP神經(jīng)網(wǎng)絡(luò)等模型進(jìn)行對比,本文還采用基準(zhǔn)模型進(jìn)行學(xué)習(xí),最后綜合效果如表2所示。
表2 不同模型在測試集上的結(jié)果對比
從表2所示,Adaboost-BP神經(jīng)網(wǎng)絡(luò)模型具有與CNN卷積神經(jīng)網(wǎng)絡(luò)模型類似的識別效果,并且在雙手叉腰、單臂張開、跑步與散步等動作的識別上,比CNN卷積模型具有更好的效果。同時,通過Adaboost迭代學(xué)習(xí)對BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,在不同的姿勢識別上,都具有一定的提升效果,比采用BP神經(jīng)網(wǎng)絡(luò)模型能夠更為精確的識別各類姿勢。
姿勢識別是計算機(jī)視覺中的重要研究方向,為獲得具有較好效果、輕量級的姿勢識別模型,本文基于BP神經(jīng)網(wǎng)絡(luò)模型構(gòu)建姿勢識別模型,并采用Adaboost迭代學(xué)習(xí)對BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果進(jìn)行提升,獲得與CNN卷積神經(jīng)網(wǎng)絡(luò)模型具有類似預(yù)測效果的模型,并且直接與采用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行姿勢識別進(jìn)行對比,在識別精度上具有較大的提升?!?/p>