曲英偉,梁煒
(大連交通大學(xué) 軟件學(xué)院,遼寧 大連 116028)
已有的基于計(jì)算機(jī)視覺(jué)的摔倒檢測(cè)模型主要有基于傳統(tǒng)機(jī)器視覺(jué)方法和基于深度學(xué)習(xí)方法兩類。基于傳統(tǒng)機(jī)器視覺(jué)方法提取特征易受場(chǎng)景、光線等因素影響,準(zhǔn)確率較低;由于硬件突破帶來(lái)的算力大幅提升,基于深度學(xué)習(xí)的方法得到高速發(fā)展。郭欣等[1]搭建了使用注意力機(jī)制輕量化結(jié)構(gòu)的深度卷積網(wǎng)絡(luò),并提取了骨骼關(guān)鍵點(diǎn)信息,檢測(cè)摔倒行為依據(jù)視頻幀間骨骼關(guān)鍵點(diǎn)的變化來(lái)判斷。曹建榮等[2]先使用YOLOv3檢測(cè)得到人體目標(biāo)區(qū)域矩形框,將跌倒過(guò)程中的人體運(yùn)動(dòng)特征與卷積提取的特征融合,再進(jìn)行摔倒判別,該方法比傳統(tǒng)方法有更強(qiáng)的環(huán)境適應(yīng)性。衛(wèi)少潔等[3]提出一種結(jié)合Alphapose和LSTM的人體摔倒模型,主要思想是將姿態(tài)估計(jì)提取出來(lái)的人體骨骼關(guān)鍵點(diǎn)的坐標(biāo)集分為x坐標(biāo)集和y坐標(biāo)集,將這兩個(gè)坐標(biāo)集分別輸入長(zhǎng)、短期記憶網(wǎng)絡(luò)來(lái)提取時(shí)序特征,最后用一個(gè)全連接層進(jìn)行分類,判斷人體是否發(fā)生摔倒,但受制于LSTM需要存儲(chǔ)的特性,不能進(jìn)行實(shí)時(shí)檢測(cè)。Chen等[4]提出了一種基于對(duì)稱性原理的意外摔倒重組的方法,通過(guò)OpenPose提取人體的骨骼關(guān)鍵點(diǎn)信息,并通過(guò)髖關(guān)節(jié)中心的下降速度、人體中心線與地面的角度、人體外部矩形的寬高比等3個(gè)關(guān)鍵參數(shù)來(lái)識(shí)別摔倒。
本文提出一種基于改進(jìn)的Alphapose[5]結(jié)合GCN[6]的人體摔倒檢測(cè)模型,該模型采用YOLOX[7]結(jié)合Deepsort[8]對(duì)出現(xiàn)在視頻中的人體目標(biāo)進(jìn)行跟蹤,檢測(cè)得到每一幀的目標(biāo)檢測(cè)框,將目標(biāo)檢測(cè)框所框定的部分送入改進(jìn)后的SPPE進(jìn)行推理,得到人體骨骼關(guān)鍵點(diǎn)信息。將得到的骨骼點(diǎn)以圖信息的形式傳入圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)進(jìn)行圖卷積,將圖卷積后的張量傳入Linear層進(jìn)行分類,實(shí)現(xiàn)人體摔倒檢測(cè)。采用Alphapose與圖卷積相結(jié)合的方法,很好地避免了對(duì)視頻環(huán)境的依賴,本模型在公開(kāi)數(shù)據(jù)集上與多個(gè)模型進(jìn)行了對(duì)比試驗(yàn),結(jié)果表明本模型具有較高的檢測(cè)準(zhǔn)確率和較低的場(chǎng)景依賴性。
本模型主要由人體目標(biāo)檢測(cè)(Detections)、人體目標(biāo)跟蹤(Tracks)、人體姿態(tài)估計(jì)(SPPE)、人體行為識(shí)別(GCN)組成,見(jiàn)圖1。
本模型目標(biāo)檢測(cè)部分使用YOLOX-S輕量化網(wǎng)絡(luò)模型,旨在快速得到人體目標(biāo)檢測(cè)框信息、置信度得分以及分類信息。經(jīng)過(guò)閱讀源碼發(fā)現(xiàn),YOLOX中使用的SiLU激活函數(shù)具有很強(qiáng)的非線性能力,而SiLU是Swish在β=1時(shí)的情況,其計(jì)算公式為:
f(x)=x·sigmoid (x)
(1)
式(1)保持了ReLU的優(yōu)勢(shì),在x>0時(shí)不存在梯度消失的問(wèn)題,與此同時(shí)也不存在x<0時(shí)輕易死亡的問(wèn)題,但有計(jì)算量較大的缺陷,相比之下,ReLu激活函數(shù)的計(jì)算簡(jiǎn)單而高效。ReLU的計(jì)算公式為:
f(x)=max (0,x)
(2)
本模型同時(shí)使用ReLU和SiLU兩種激活函數(shù),以較少個(gè)數(shù)的SiLU來(lái)保持良好非線性,再加上較多個(gè)數(shù)的ReLU來(lái)減少計(jì)算量,提升推理速度。
由于YOLOX中置信度分支使用BCE損失函數(shù)進(jìn)行計(jì)算過(guò)于簡(jiǎn)單,應(yīng)該進(jìn)一步優(yōu)化。在目標(biāo)檢測(cè)領(lǐng)域,不同的算法可能會(huì)生成不同數(shù)量的候選框,而其中大部分都是不包含目標(biāo)的負(fù)樣本,只有少部分是包含預(yù)期檢測(cè)到的目標(biāo)的正樣本,于是就導(dǎo)致了樣本類別不均衡的情況。負(fù)樣本比例太大,且多數(shù)是容易分類的,占據(jù)了總的損失的大部分,這就使得模型在回歸的時(shí)候優(yōu)化的方向并不如預(yù)期。針對(duì)這種情況,Lin 等[9]提出了Focal loss,它改進(jìn)了交叉熵?fù)p失函數(shù),通過(guò)動(dòng)態(tài)的減少容易樣本的權(quán)重,使得模型的注意力集中在更難以分類的困難上。Focal loss公式為:
Focal loss=-α(1-Pt)γ·log(Pt)
(3)
當(dāng)錯(cuò)誤地分配了一個(gè)樣本時(shí),Pt是一個(gè)很小的值,而式(3)前面的調(diào)整系數(shù)就趨近于1,不會(huì)影響對(duì)錯(cuò)誤樣本的損失計(jì)算。而當(dāng)一個(gè)樣本很容易被準(zhǔn)確分類時(shí),Pt就趨近于1,這時(shí)式(3)前面的調(diào)整系數(shù)就趨近于0了,減少了很容易被準(zhǔn)確分類的樣本的損失對(duì)于總的損失的貢獻(xiàn)。因此本文采用 Focal loss 代替 BCE loss計(jì)算置信度損失。
本模型人體目標(biāo)跟蹤部分使用DeepSort結(jié)合YOLOX的方法,其中每個(gè)跟蹤實(shí)例需要與YOLOX所得的目標(biāo)檢測(cè)結(jié)果進(jìn)行匹配,根據(jù)不同的情況可分為3個(gè)狀態(tài),初始化時(shí)設(shè)定為臨時(shí)狀態(tài),如果沒(méi)有匹配上任何檢測(cè)結(jié)果則會(huì)被刪除;如果連續(xù)匹配上一定次數(shù),則被設(shè)定為已跟蹤狀態(tài);在已跟蹤狀態(tài)時(shí)如果未匹配超過(guò)設(shè)定的最大次數(shù)次,則被刪除。使用級(jí)聯(lián)匹配的方式進(jìn)行跟蹤實(shí)例和檢測(cè)實(shí)例的匹配,見(jiàn)圖2。
圖2 級(jí)聯(lián)匹配過(guò)程
級(jí)聯(lián)匹配中需要計(jì)算成本矩陣,分為兩種:一種是余弦距離計(jì)算的成本矩陣,一種是IOU關(guān)聯(lián)計(jì)算的成本矩陣,然后通過(guò)匈牙利算法解決線性指派問(wèn)題。圖2中級(jí)聯(lián)匹配層使用的是余弦距離計(jì)算的成本矩陣,IOU匹配使用的是IOU關(guān)聯(lián)計(jì)算的成本矩陣且只用來(lái)計(jì)算沒(méi)匹配上和無(wú)跟蹤狀態(tài)的跟蹤實(shí)例??柭鼮V波器在多目標(biāo)跟蹤的應(yīng)用中分為兩個(gè)部分,一個(gè)是預(yù)測(cè),一個(gè)是更新。預(yù)測(cè)有狀態(tài)預(yù)測(cè)和協(xié)方差預(yù)測(cè),狀態(tài)預(yù)測(cè)是用跟蹤實(shí)例在t-1時(shí)刻的狀態(tài)來(lái)預(yù)測(cè)其在t時(shí)刻的狀態(tài),公式為:
x′=Fx
(4)
式中:x是跟蹤實(shí)例在t-1時(shí)刻的均值;F為狀態(tài)轉(zhuǎn)移矩陣。
做協(xié)方差預(yù)測(cè),新的不確定性由上一不確定性得到,并加上外部干擾,如式(5):
P′=FPFT+Q
(5)
式中,P為跟蹤實(shí)例在t-1時(shí)刻的協(xié)方差;Q為系統(tǒng)的噪聲矩陣(一般初始化為很小的值)。
更新基于t時(shí)刻得到的檢測(cè)實(shí)例,矯正與其關(guān)聯(lián)的跟蹤實(shí)例狀態(tài),以得到一個(gè)更精確的結(jié)果。計(jì)算檢測(cè)實(shí)例和跟蹤實(shí)例的均值誤差為:
y=z-Hx′
(6)
式中:z是檢測(cè)實(shí)例的均值向量;H為測(cè)量矩陣,它將跟蹤實(shí)例的均值向量x′映射到測(cè)量空間。
將協(xié)方差舉證P′映射到測(cè)量空間,再加上噪聲矩陣R,如式(7):
S=HP′HT+R
(7)
式中:噪聲矩陣R是一個(gè)4×4的對(duì)角矩陣,對(duì)角線上的值分別為中心點(diǎn)兩個(gè)坐標(biāo)值和寬高的噪聲,以任意值初始化。
計(jì)算卡爾曼增益K,用于估計(jì)誤差的重要程度,如式(8):
K=P′HTS-1
(8)
式(9)和式(10)分別計(jì)算了更新后的均值向量x和協(xié)方差矩陣P:
x=x′+Ky
(9)
P=(I-KH)P′
(10)
原Alphapose中SPPE的backbone為Resnet50,網(wǎng)絡(luò)結(jié)構(gòu)較為簡(jiǎn)單。本文引入Swin Transformer[10]算法以期在SPPE的backbone部分進(jìn)行改進(jìn)。Swin Transformer算法以其特有的滑動(dòng)窗口注意力機(jī)制結(jié)合原本SENet所特有的通道注意力機(jī)制,更準(zhǔn)確地提取特征,進(jìn)而提升pose提取的準(zhǔn)確率。
Swin Transformer算法由Patch Embedding、Patch Merging、相對(duì)位置編碼、Window based Multi-head Self-Attention(窗口多頭自注意力機(jī)制)、Shifted Window based Multi-head Self-Attention(滑動(dòng)窗口多頭注意力機(jī)制)等模塊組成。Patch Embedding解決了后續(xù)操作的數(shù)據(jù)輸入問(wèn)題。Swin Transformer算法采取了對(duì)圖像進(jìn)行相對(duì)位置信息編碼的方式,將相對(duì)位置信息融合到attention矩陣中。先以feature map的每個(gè)像素點(diǎn)為原點(diǎn),配置其他點(diǎn)的對(duì)應(yīng)坐標(biāo);然后按照順序依次縱向拉平;再橫向拼接起來(lái)形成像素點(diǎn)個(gè)數(shù)為寬高相等的正方形坐標(biāo)矩陣;再統(tǒng)一加上偏移量后除以小于零的坐標(biāo)值;而為了防止x+y坐標(biāo)值一樣,又將x坐標(biāo)值統(tǒng)一乘以y坐標(biāo)值的最大值;最后將橫、縱坐標(biāo)相加,得到最后的position id,用于索引embedding的值,就可以在attention矩陣中融合圖像的相對(duì)空間位置信息。其公式為:
(11)
式中:B即為相對(duì)位置矩陣。
Swin Transformer block使用窗口多頭注意力后,前面劃分的每一個(gè)窗口內(nèi)部的像素就建立了關(guān)系,但是不同窗口之間,有的像素也是相鄰的,這時(shí)候就需要進(jìn)行一個(gè)窗口的滑動(dòng),然后再做自注意力操作,這樣就使得不同窗口之間產(chǎn)生了信息的交互。而窗口的滑動(dòng),將特征圖先向上移動(dòng)3個(gè)像素,再向左移動(dòng)3個(gè)像素,就將原來(lái)的特征圖劃分為9塊不同的區(qū)域,以window_size大小的窗口在滑動(dòng)后的特征圖上做多頭注意力,在做注意力之前,需要使用mask的方法避免本來(lái)不相鄰的像素之間做自注意力操作。窗口滑動(dòng)的效果見(jiàn)圖3。這樣一層窗口多頭注意力后接一層滑動(dòng)窗口多頭注意力,就實(shí)現(xiàn)了當(dāng)前階段的全局信息交互。
Patch Merging是對(duì)圖片進(jìn)行切片操作,在行方向和列方向每隔一個(gè)像素采樣一個(gè)值,類似于近鄰下采樣,然后將每個(gè)區(qū)域中采樣的每個(gè)像素按原圖的位置拼接起來(lái),這樣通道數(shù)就會(huì)變成原來(lái)的4倍,再接一個(gè)線性層后將通道數(shù)減少變成原來(lái)的2倍,寬高就變?yōu)樵瓉?lái)的1/2,且在沒(méi)有信息丟失的情況下得到下采樣的特征圖。
Swin Transformer算法對(duì)每一層特征圖的信息都做了較好的信息交互。但是在每一通道上特征圖的重要程度不應(yīng)該都是相同的,本模型將SENet這一強(qiáng)大、有效的通道注意力機(jī)制引入Swin Transformer中,在進(jìn)行每一次下采樣之后,再增加執(zhí)行一次SENet模塊,給不同的通道賦予不同的權(quán)重,使模型容易學(xué)習(xí)到重要的特征信息。
本模型設(shè)計(jì)了FastPoseSwin人體姿態(tài)估計(jì)網(wǎng)絡(luò),用于提取pose信息,其結(jié)構(gòu)圖見(jiàn)圖4。FastPoseSwin結(jié)合了Swin Transformer與原Alphapose中的SENet[11]、DUC[12]、 Pixshuffle[13]等模塊, 主要是添加了SENet模塊的Swin Transforme,作為更高效和更準(zhǔn)確的backbone來(lái)提取特征圖,以期得到更準(zhǔn)確的人體骨骼關(guān)鍵點(diǎn)提取結(jié)果。其中,DUC是一種用通道數(shù)來(lái)彌補(bǔ)H和W尺寸上的損失的網(wǎng)絡(luò)結(jié)構(gòu)。PixelShuffle通過(guò)卷積和周期性篩選來(lái)提高特征圖的分辨率。
圖4 FastPoseSwin 網(wǎng)絡(luò)結(jié)構(gòu)
本模型得到13個(gè)人體骨骼關(guān)鍵點(diǎn)在每一幀圖像上對(duì)應(yīng)信息的一個(gè)列表,列表里存儲(chǔ)著對(duì)應(yīng)人體目標(biāo)的bbox、bbox得分、骨骼關(guān)鍵點(diǎn)、骨骼關(guān)鍵點(diǎn)得分和proposal_score,其中proposal_score是骨骼關(guān)鍵點(diǎn)得分的均值+bbox得分+1.25倍最高骨骼關(guān)鍵點(diǎn)得分。
圖卷積(GCN)是一種具有強(qiáng)大的圖表達(dá)能力的深度學(xué)習(xí)模型,區(qū)別于卷積神經(jīng)網(wǎng)絡(luò),它對(duì)非歐幾里得結(jié)構(gòu)的數(shù)據(jù)有較好的空間特征提取能力。而所提取出來(lái)的姿態(tài)圖就屬于這種非歐幾里得數(shù)據(jù),因此本文采用圖卷積的方式對(duì)人體骨骼關(guān)鍵點(diǎn)進(jìn)行處理,將骨骼圖送入圖卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,模型推理輸出得到分類結(jié)果,如坐著、站立、行走、摔倒等。
拉普拉斯矩陣被用來(lái)定義圖卷積神經(jīng)網(wǎng)絡(luò),對(duì)于一個(gè)圖G=(V,E),其中V代表頂點(diǎn)(node)的幾何,E代表邊(edge)的幾何。其拉普拉斯矩陣由這個(gè)圖的度矩陣和鄰階矩陣共同定義。度矩陣就是對(duì)圖中各個(gè)頂點(diǎn)的度的描述,即這個(gè)頂點(diǎn)與多少個(gè)頂點(diǎn)有聯(lián)系,度矩陣是一個(gè)對(duì)角矩陣,其對(duì)角線上元素即每個(gè)頂點(diǎn)的度。鄰接矩陣是對(duì)圖中各個(gè)頂點(diǎn)連接關(guān)系的描述,因?yàn)樵趫D卷積神經(jīng)網(wǎng)絡(luò)中,圖都為無(wú)向圖,由無(wú)向圖的鄰接矩陣表示方法可知,GCN中的鄰接矩陣是沿對(duì)角線對(duì)稱的。拉普拉斯矩陣的計(jì)算公式為:
L=D-A
(12)
式中:D為圖的度矩陣;A為圖的鄰接矩陣。
本模型使用如下方式構(gòu)建圖卷積神經(jīng)網(wǎng)絡(luò):
(13)
(14)
具體到每一個(gè)節(jié)點(diǎn),Symmetric normalized拉普拉斯矩陣中的元素為:
(15)
式中:deg (vi)和deg (vj)分別為節(jié)點(diǎn)i,j的度,即度矩陣在節(jié)點(diǎn)i,j處的值。該方法引入了自身度矩陣,解決自傳遞問(wèn)題的同時(shí),對(duì)鄰接矩陣進(jìn)行了歸一化操作,再通過(guò)對(duì)鄰接矩陣兩邊乘以節(jié)點(diǎn)的度矩陣開(kāi)方然后取逆。
本模型設(shè)計(jì)了一個(gè)簡(jiǎn)單有效的人體行為分類模型,將姿態(tài)估計(jì)部分預(yù)測(cè)所得到的13個(gè)人體骨骼關(guān)鍵點(diǎn)的坐標(biāo)及其置信度得分作為一個(gè)形如(13,3)的向量,作為人體行為分類模型的輸入,通過(guò)圖卷積層、線性變化層、Dropout等模塊處理,最后輸出一個(gè)形狀為(batch_size, num_classes)的特征向量,算法執(zhí)行過(guò)程見(jiàn)圖5。
圖5 GCN摔倒檢測(cè)算法執(zhí)行過(guò)程
圖5中,input的輸入形狀為[64,13,3],其中64為batch_size,13為關(guān)鍵點(diǎn)個(gè)數(shù),3為通道數(shù),代表了關(guān)鍵點(diǎn)的橫、縱坐標(biāo)和置信度得分。整個(gè)基于GCN的摔倒檢測(cè)算法結(jié)構(gòu)設(shè)計(jì)較為簡(jiǎn)單,先將關(guān)鍵點(diǎn)輸入GCN模塊中,求出Symmetric normalized拉普拉斯矩陣Lsym,將Lsym與關(guān)鍵點(diǎn)特征向量和初始化的權(quán)重W相乘,進(jìn)行圖卷積后輸入ReLU非線性激活函數(shù),此時(shí)特征向量的形狀變?yōu)閇64,13,512]。隨后再輸入一個(gè)GCN模塊,特征向量變?yōu)閇64,13,32]。這時(shí)將特征圖轉(zhuǎn)換為二維張量,再使用線性層配合ReLU激活函數(shù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),對(duì)其特征進(jìn)行學(xué)習(xí)。再使用Dropout將激活函數(shù)輸出的值以一定的比例隨機(jī)置為0,用來(lái)防止模型過(guò)擬合。最后用一個(gè)輸出通道為nclass的Linear線性變換作為分類器,得到分類結(jié)果。
為了從各方面對(duì)本文摔倒檢測(cè)模型進(jìn)行驗(yàn)證,本文進(jìn)行以下三部分試驗(yàn),分別驗(yàn)證目標(biāo)檢測(cè)部分、人體姿態(tài)估計(jì)部分和人體行為識(shí)別部分。
目標(biāo)檢測(cè)部分的試驗(yàn)采用CrownHuman[14]數(shù)據(jù)集進(jìn)行訓(xùn)練,其中,訓(xùn)練集為15 000 張,驗(yàn)證集為4 000 張,測(cè)試集為4 000 張。其中,CrownHuman數(shù)據(jù)集的標(biāo)注信息是.odgt文件,只采用其中vbox即可視人體的標(biāo)注信息,將其轉(zhuǎn)為COCO數(shù)據(jù)集所需要的json文件進(jìn)行訓(xùn)練。
本節(jié)用AP、Parameters、FPS、GFLOPs、Latency等指標(biāo)來(lái)對(duì)試驗(yàn)結(jié)果進(jìn)行評(píng)估。AP是指在同一個(gè)類別、不同閾值和不同召回率下的準(zhǔn)確率,AP越大證明模型準(zhǔn)確率越高;Parameters是參數(shù)量所占內(nèi)存空間,體現(xiàn)了模型的大小和復(fù)雜度;FPS是每秒所檢測(cè)圖片的數(shù)量;GFLOPs是指模型每秒執(zhí)行多少次浮點(diǎn)數(shù)運(yùn)算;Latency是指第一個(gè)輸入到第一個(gè)輸出所需要的時(shí)間延遲。
將本節(jié)算法結(jié)果YOLOv3、YOLOv5-S和優(yōu)化前的YOLOX算法在CrownHuman數(shù)據(jù)集的可視身體框部分進(jìn)行對(duì)比試驗(yàn),試驗(yàn)結(jié)果見(jiàn)表1。
表1 CrownHuman數(shù)據(jù)集上的試驗(yàn)結(jié)果對(duì)比
由表1可以看出,本模型所優(yōu)化后的YOLOX算法在CrownHuman數(shù)據(jù)集可視身體框部分的表現(xiàn)滿足預(yù)期,其中,AP相對(duì)YOLOv3提高了9.83%,相對(duì)YOLOv5-S提高了3.97%,相對(duì)優(yōu)化前的YOLOX-S提高了1.34%,參數(shù)量?jī)H8.6M,比優(yōu)化前少了0.3 M,較為輕量。而FPS雖然不如YOLOv5-S那么優(yōu)異,但相較于優(yōu)化前每秒提升了3幀左右,并且能夠滿足完成實(shí)時(shí)檢測(cè)的要求。優(yōu)化后的算法時(shí)延比優(yōu)化前縮短了0.52 ms,時(shí)延包括了前向推理時(shí)間和非極大值抑制處理時(shí)間。
本文人體姿態(tài)估計(jì)模型使用MsCOCO2017[15]數(shù)據(jù)集來(lái)進(jìn)行訓(xùn)練,采用每個(gè)目標(biāo)所有的關(guān)鍵點(diǎn)的平均AP即以KeyPointsAP為指標(biāo)來(lái)對(duì)模型進(jìn)行評(píng)估,該值越大,證明模型的準(zhǔn)確率越高。將本節(jié)所訓(xùn)練的模型與Mask-RCNN、OpenPose、文獻(xiàn)[16]等在COCO2017姿態(tài)測(cè)試集上進(jìn)行對(duì)比試驗(yàn),試驗(yàn)結(jié)果見(jiàn)表2。
表2 COCO2017測(cè)試集上的結(jié)果對(duì)比
由表2可知,本文改進(jìn)后的人體姿態(tài)估計(jì)算法在COCO2017測(cè)試集上AP比Mask-RCNN、OpenPose、文獻(xiàn)[16]分別提高了8.2%、9.8%、1.9%,說(shuō)明本文算法在準(zhǔn)確率方面具有一定的優(yōu)越性,能夠提取更高質(zhì)量的人體骨骼關(guān)鍵點(diǎn)。
本模型摔倒檢測(cè)部分的訓(xùn)練數(shù)據(jù)是從Le2i[17]數(shù)據(jù)集中隨機(jī)選取的100個(gè)視頻,從這些視頻中截取10 000幀圖片,其中8 000幀用作訓(xùn)練集,2 000幀用作測(cè)試集。對(duì)每一幀圖片使用改進(jìn)后的Alphapose提取到pose,對(duì)這些pose信息進(jìn)行人工標(biāo)注,標(biāo)定其人體狀態(tài),并保存為二進(jìn)制文件。將屬于不同類別的圖片和標(biāo)注二進(jìn)制文件放入不同的文件夾中以待訓(xùn)練。采用準(zhǔn)確率和FPS兩個(gè)指標(biāo)對(duì)本文的人體行為分類模型進(jìn)行評(píng)估,準(zhǔn)確率和FPS的值越大,模型越好。
在Le2i數(shù)據(jù)集上與做類似工作的文獻(xiàn)[18]、YOLOv4-tiny+pose和YOLOv5-S+pose的結(jié)果進(jìn)行比較,所得結(jié)果見(jiàn)表3。
表3 在Le2i數(shù)據(jù)集上摔倒檢測(cè)結(jié)果對(duì)比分析
對(duì)比發(fā)現(xiàn),本文所提出的基于改進(jìn)的Alphapose結(jié)合GCN的摔倒檢測(cè)算法, 在FPS優(yōu)于YOLOv4-tiny+pose和YOLOv5-S+pose的情況下,準(zhǔn)確率達(dá)到了92.2%,較好地滿足了實(shí)時(shí)摔倒檢測(cè)的要求。
本文提出了一種基于改進(jìn)Alphapose結(jié)合GCN的摔倒檢測(cè)模型,該模型使用優(yōu)化后的YOLOX結(jié)合DeepSort對(duì)視頻中的人體目標(biāo)進(jìn)行目標(biāo)檢測(cè)、目標(biāo)跟蹤,得到每個(gè)人體的檢測(cè)框,然后再使用改進(jìn)后的SPPE對(duì)檢測(cè)到的每個(gè)人體進(jìn)行姿態(tài)估計(jì),提取人體骨骼關(guān)鍵點(diǎn),最后再使用GCN對(duì)人體骨骼關(guān)鍵點(diǎn)進(jìn)行人體行為分類,判斷是否摔倒。本文在CrownHuman、COCO2017、Le2i等公開(kāi)數(shù)據(jù)集上分別對(duì)人體目標(biāo)檢測(cè)算法、人體姿態(tài)估計(jì)算法和人體摔倒檢測(cè)算法進(jìn)行對(duì)比試驗(yàn),結(jié)果表明,本文所提出的摔倒檢測(cè)模型在目標(biāo)檢測(cè)、姿態(tài)估計(jì)上的算法改進(jìn)和整體的模型設(shè)計(jì)都具有可行性,并且比其他模型提高了檢測(cè)的準(zhǔn)確率和實(shí)時(shí)性,具有一定的使用價(jià)值。