国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SVM-MultiCNN模型的視覺感知跌倒檢測算法

2020-11-11 11:58蔡文郁鄭雪晨郭嘉豪阮智祥
關鍵詞:關節(jié)點準確度卷積

蔡文郁,鄭雪晨,郭嘉豪,阮智祥

(杭州電子科技大學電子信息學院,浙江 杭州 310018)

0 引 言

老年人身體平衡能力較差,反應能力較慢,獨居老人在家中跌倒沒有得到及時救助可能導致嚴重損傷,甚至死亡[1-2]。目前,跌倒檢測方法主要有基于可穿戴傳感器的跌倒檢測[3]、基于環(huán)境傳感器的跌倒檢測[4]和基于視頻傳感的跌倒檢測[5]?;诳纱┐鱾鞲衅鞯牡箼z測主要是將采集到的傳感數(shù)據(jù)輸入到特定的跌倒模型進行跌倒檢測;基于環(huán)境傳感器的跌倒檢測主要是通過壓力傳感器或音頻采集設備得到的數(shù)據(jù)來判斷跌倒;基于視頻傳感的跌倒檢測主要利用攝像機或者深度相機采集視頻數(shù)據(jù),用圖像識別的方法來判定跌倒。與其它兩種方法相比,基于視頻傳感的跌倒檢測無需佩戴設備,不易受環(huán)境影響,實際應用更加便捷。文獻[6]將提取的人體矩形寬高比、離心率、人體Hu矩特征以及人體軸線角等多特征進行融合,利用支持向量機(Support Vector Machine,SVM)進行檢測。文獻[7]將提取的人體寬高比、人體投影面積、周長等特征輸入SVM進行檢測。以上方法大部分將人工提取的時間特征、空間特征送入SVM進行判斷,如果提取的特征不合適,將導致關鍵部分的信息丟失,影響算法精度。文獻[8]提出一種基于多通道的卷積神經網絡(Convolutional Neural Networks,CNN)跌倒檢測模型,通過人體佩戴的多種傳感器獲取多通道信息,并將每一時刻的信息整合為一個向量,從而識別人體行為。文獻[9]將提取的灰度、梯度以及光流信息作為底層特征,輸入至3D-CNN網絡模型以提取高層時空特征進行分類檢測。文獻[10]提出一種基于顏色空間和多特征融合的視頻煙霧檢測算法,其視頻數(shù)據(jù)檢測處理方法為基于視頻的跌倒檢測帶來了新的方法。利用深度學習模型來識別人體行為,檢測精度較高但模型復雜,算法耗時較長,而利用機器學習模型識別跌倒的算法檢測耗時短但識別準確度低。為了解決上述問題,本文提出一種基于SVM-MultiCNN模型的視覺感知跌倒檢測算法。首先使用機器學習模型對原始視頻數(shù)據(jù)進行初次分類,對于分類結果為類跌倒的數(shù)據(jù)進一步利用深度學習模型進行二次分類,從而在保證跌倒檢測精度的前提下,降低了算法的計算量,極大縮短了檢測耗時。

1 基于SVM-MultiCNN模型的視頻感知跌倒檢測算法

本文研究的跌倒檢測算法原理如圖1所示,主要分為數(shù)據(jù)預處理、特征提取、跌倒檢測。首先,采用OpenPose[11]軟件從原始視頻圖像中得到人體關鍵點數(shù)據(jù),構建人體關節(jié)位置行為矩陣;然后,從人體關節(jié)數(shù)據(jù)矩陣中提取表征跌倒行為的時間特征參數(shù)和空間特征參數(shù),并融合成跌倒特征向量;最后,跌倒特征向量經SVM初級分類器分類成跌倒、類跌倒、非跌倒3種結果,再使用CNN分類器對類跌倒的人體關節(jié)數(shù)據(jù)矩陣進行二次分類,輸出最終的判斷結果。

1.1 數(shù)據(jù)預處理

本文算法通過OpenPose軟件獲取人體關節(jié)點數(shù)據(jù)。OpenPose是一種檢測圖像或視頻中人體姿態(tài)的檢測軟件,將視覺幾何群網絡(Visual Geometry Group Network,VGGNet)[12]與訓練網絡作為骨架,一個分支預測置信圖,另一個分支預測關聯(lián)向量場,結合Caffe,CUDA,CUDNN等第三方依賴庫,精準從圖像或視頻中回歸出人體關節(jié)點坐標。OpenPose渲染后的人體骨骼關鍵點如圖2所示。OpenPose獲取的人體骨架圖包含18個關節(jié)點,每個關節(jié)點數(shù)據(jù)內容為(x,y,c),其中x,y分別表示關節(jié)點X軸和Y軸坐標,c表示該坐標預測值的置信度,取值范圍為(0,1),越接近1表示預測越準確,其關節(jié)點坐標的還原度也就越高。

由于存在遮擋效應,OpenPose所獲取的人體姿態(tài)信息中可能會出現(xiàn)個別關節(jié)點信息缺失現(xiàn)象,故本文采用插補的方法來彌補。若缺失關節(jié)點的后一個人體關節(jié)點不缺失,則將缺失關節(jié)點用后一個人體關節(jié)點填充;若缺失關節(jié)點的后一個人體關節(jié)點缺失,且前一個人體關節(jié)點不缺失,則將缺失關節(jié)點用前一個人體關節(jié)點填充;否則,將該幀圖像刪除。

為了直觀地表示關節(jié)點數(shù)據(jù)的時序特征,本文用滑動窗口構建同時表征時間和空間特征的s個行為矩陣,定義如下:

(1)

滑動窗口是一個用來存儲時間序列數(shù)據(jù)的固定大小窗口,隨著時間推移,滑動窗口沿著時間軸移動,新進入的數(shù)據(jù)存入窗口底部,頂部數(shù)據(jù)被移出。圖3為滑動窗口示意圖,行為矩陣的總幀數(shù)W設置為10,總關節(jié)點數(shù)N為18,行為矩陣大小為[W,N×3],即滑動窗口的寬度為10,長度為54。設置滑動步長為2,最后構建s個大小為10×54的行為矩陣。

對每一個行為矩陣K的表達如下:

K=[K1K2…KW]T,i=1,2,…,W

(2)

行為矩陣的每一行對應一幀圖像的關節(jié)坐標向量,即第i行對應第i幀圖像的關節(jié)向量。

對于每一幀圖像,第i幀圖像的關節(jié)向量表達如下:

Ki=[Ki,0Ki,1…Ki,N-1]

(3)

式中,Ki,N-1表示人體關節(jié)數(shù)據(jù)矩陣中第i幀圖像中第N-1個關節(jié)點的坐標,j=0,1,…,N-1,Ki,N-1包含(x,y,c)3個數(shù)據(jù)。

圖3 滑動窗口示意圖

1.2 特征提取

本文算法同時提取空間特征參數(shù)和時間特征參數(shù)以充分表達跌倒行為。

由于跌倒時人體高度變化值最明顯,因此用視頻中人體高度的最大值與最小值表征空間特征,定義如下:

hi=hi,head-hi,foot

(4)

(5)

(6)

式中,hi,head表示第i幀圖像中的人體的頭部縱坐標,hi,foot表示第i幀圖像中的人體的腳部縱坐標,yi,14,yi,15,yi,16,yi,17分別表示第i幀圖像中關節(jié)點右眼-14、左眼-15、右耳-16、左耳-17的縱坐標,yi,10,yi,13分別表示第i幀圖像中右腳踝-10、左腳踝-13的縱坐標。本文算法提取各行為矩陣對應圖像中人體高度信息的最大值、最小值并作為空間最大值hi,max、空間最小值hi,min(i=1,2,…,W)。

空間特征僅能區(qū)分正常走路和跌倒,無法辨別跌倒和躺下、蹲下等類跌倒行為,本文定義圖像第i幀的相鄰幀高度差Δhi,one和五幀高度差Δhi,five來表達時間特征,公式如下:

Δhi,one=hi-hi-1

(7)

Δhi,five=hi-hi-5

(8)

將各行為矩陣對應的圖像中相鄰幀高度差Δhi,one和五幀高度差的最大值和最小值定義為短時間最大值Δhi,one,max、短時間最小值Δhi,one,min、長時間最大值Δhi,five,max、長時間最小值Δhi,five,min,并將當前幀對應人體高度信息的最大值hi,max、最小值hi,min(i=1,2,…,W)融合成跌倒特征向量Fi,SVM(i=1,2,…,s)作為SVM分類器的輸入,如下所示:

Fi,SVM=(hi,max,hi,min,hi,one,max,hi,one,min,hi,five,max,hi,five,min)

(9)

根據(jù)式(9)對各跌倒特征向量Fi,SVM內的每一個元素Ht(t=1,2,…,6)進行歸一化處理,進而消除視頻中由于體態(tài)、距離等個體差異造成的識別誤差。

(10)

1.3 跌倒檢測模型SVM-CNN

本文提出的SVM-CNN跌倒檢測模型首先將歸一化后的行為矩陣輸入至SVM,進行跌倒的初次分類得到s個跌倒置信度Pi,SVM的決策層設置2個閾值Pmax和Pmin,對于輸出置信度,若所有跌倒置信度Pi均小于Pmin,則判定視頻中的行人未跌倒,輸出結果yi_為-1,跌倒檢測結束;若存在至少一個跌倒置信度Pi大于Pmax,則判定視頻中的行人跌倒,輸出結果yi_為1,跌倒檢測結束;否則,判定為出現(xiàn)類跌倒。對于類跌倒行為,將跌倒特征向量輸入至CNN分類器進行二次分類,從而實現(xiàn)細粒度分類。這種方法不僅降低了算法的復雜度,減少耗時,又保證了檢測的準確度。

CNN二次分類網絡輸入源是行為矩陣K,多個級聯(lián)卷積網絡組成,每一層卷積網絡的輸出作為下一神經網絡的輸入,卷積核的大小固定,卷積步長設置為1,檢測模型末端設置三個全連接層,其神經元數(shù)分別設置為1 024,512和2。激活函數(shù)為Relu,因為在訓練過程中,使用Relu函數(shù)代替tanh函數(shù)作為激活函數(shù),模型的收斂速度要快[13]。損失函數(shù)采用交叉熵函數(shù):

(11)

式中,yi表示期望輸出,即原始數(shù)據(jù)集被標記的結果,yi_表示實際輸出,即CNN二次分類網絡的輸出結果,交叉熵函數(shù)體現(xiàn)了實際值與預測值的相近程度,相較于均方差作為損失函數(shù),交叉熵函數(shù)利于梯度下降反向傳播優(yōu)化。

1.4 改進的跌倒檢測模型SVM-MultiCNN

盡管本文提出的SVM-CNN跌倒檢測模型可以表達跌倒的時間、空間信息,但是由于行為矩陣是由18個關節(jié)點順次拼接而成,僅使用同種大小的卷積核只能表示相鄰關節(jié)點之間的特征信息。實際上,表征跌倒行為的關節(jié)點組合需要綜合考慮頭、腳、腿等多個關節(jié)的相對變化,但使用大尺度卷積核會大大增加計算量。

為了表示不同關節(jié)點之間的特征信息,本文提出改進的跌倒檢測模型SVM-MultiCNN,即首先利用SVM進行初次分類,對于分類結果為類跌倒的數(shù)據(jù)進一步利用MultiCNN二次分類,模型算法原理如圖4所示。理論上卷積核尺度的涵蓋范圍是1×1到W×W(W表示滑動窗口高度),但1×1卷積核無法得到不同關節(jié)點之間的特征,由于輸入數(shù)據(jù)是[W,N×3]的行為矩陣(N表示18個關節(jié)點數(shù)據(jù)維數(shù)),因此本文提出的MultiCNN網絡采用四等分的方式設計4種大小不同的卷積核,分別為3×3,5×5,7×7,9×9,每種卷積核的數(shù)目一樣,再將不同大小的卷積核得到的特征圖分別輸入至大小為8×1,6×1,4×1,2×1的池化算子進行池化,池化的步長為1,池化后的全連接層和邏輯層SVM-CNN跌倒檢測模型一致,最后輸出檢測結果。

本文對SVM-CNN與SVM-MultiCNN跌倒檢測模型進行有監(jiān)督訓練。將預處理后的數(shù)據(jù)分為訓練集和測試集,訓練集打亂后分批次輸入2種檢測模型;訓練采用的損失函數(shù)為交叉熵函數(shù),利用Adam算法優(yōu)化損失函數(shù),通過訓練找到最優(yōu)神經元權重;訓練后保存相應模型再利用測試集進行測試,獲取最終跌倒檢測準確度。

圖4 基于SVM-MultiCNN模型的跌倒檢測算法

2 實驗與結果分析

表1 實驗環(huán)境配置

本文算法驗證的GPU加速實驗環(huán)境如表1所示。

測試視頻數(shù)據(jù)集使用工業(yè)RGB相機進行采集,共100個跌倒視頻,每個視頻分辨率為640×480,幀率為30 fp/s,每個時長約2 min。除此之外,還采集了非跌倒視頻如躺下、蹲下、坐下、正常走路、跳躍各10個,每種跌倒視頻均由實驗人員以橫向跌倒、側向跌倒、向前跌倒、向后跌倒完成,全部樣本共包含101 400幀,隨機選擇70%作為訓練集,20%作為測試集,10%作為驗證集。表2 展示了實驗采集的原始跌倒視頻經過OpenPose渲染后的視頻序列。

表2 OpenPose渲染后的跌倒視頻序列

為了獲取SVM,CNN,MultiCNN模型的最優(yōu)參數(shù),在相同的實驗環(huán)境、相同數(shù)據(jù)集的情況下,分別做如下對比實驗。

實驗1提取跌倒特征向量為Fi,SVM分別對應時間特征參數(shù)1(hi,max),2(hi,min)及空間特征參數(shù)3(hi,one,max),4(hi,one,min),5(hi,five,max),6(hi,five,min),分別選取不同的特征組合作為SVM的輸入進行實驗,對比結果如圖5所示。

由圖5可知,SVM的輸入特征選擇1,2,3,5時為最佳,這是由于僅有時間特征或空間特征不能完全表征跌倒行為,特征值3,4僅表征人體下降的速度變化,特征值5,6僅表征人體跌倒時的高度變化,但無法區(qū)分快速蹲下和跌倒,因此,僅選取相鄰兩幀或者相鄰五幀的高度差作為特征值難以區(qū)分跌倒行為和類跌倒行為。本文實驗中將混合特征1,2,3,5輸入至SVM模型。

實驗2分別設置CNN的層數(shù)為2層和3層,每層卷積核數(shù)分別為16,32,64,128,卷積核大小分別為3×3,5×5,7×7,對比實驗結果如圖6所示。由圖6可知:當卷積層數(shù)較多時,不但沒有提升模型的識別精度,反而增加了模型的復雜度。原因在于本實驗構建的行為特征矩陣維度只有10×54,卷積層數(shù)及卷積核數(shù)不需要太大即可精確檢測跌倒,因此CNN模型選擇2層卷積,2層卷積核數(shù)分別為32,64時,模型的識別精度高且復雜度較低。

圖5 不同特征組合對SVM準確度的影響

圖6 不同卷積對CNN準確度的影響

實驗3設置MultiCNN模型的4種不同卷積核的數(shù)目為4,8,16,32,對比實驗結果如圖7所示。由圖7可知:當MultiCNN模型選擇卷積核數(shù)目為16,即總卷積核數(shù)為16×4=64時最佳。這是由于卷積核數(shù)過小不能充分表達不同關節(jié)點之間的特征信息,過大則導致提取的部分特征信息冗余,同時模型復雜度大大提升。

實驗4通過設置不同的閾值區(qū)間來驗證初次SVM分類中閾值對算法的影響,實驗結果如圖8所示。當閾值區(qū)間上限Pmax越大時,模型檢測準確度并沒有明顯提升,反而增加了單幀檢測耗時,影響檢測速度;當Pmax越小時,準確度明顯下降,同時單幀檢測耗時也明顯降低。雖然SVM-CNN與SVM-MultiCNN模型的準確度相差無幾,但是SVM-MultiCNN模型的檢測耗時明顯低于SVM-CNN模型。

圖7 不同卷積核數(shù)對MultiCNN準確度的影響

圖8 不同閾值對檢測準確度及單幀耗時的影響

本文實驗設置CNN模型的第1層、第2層卷積核數(shù)分別為32和64,MultiCNN卷積核數(shù)為16×4=64,并設置閾值為Pmax=0.8,Pmin=0.2,分別使用SVM,CNN,MultiCNN,SVM-CNN,SVM-MultiCNN算法進行檢測,結果如圖9、圖10所示。

圖9 不同算法的跌倒檢測準確度

圖10 不同算法的單幀檢測耗時

從圖9可以看出:基于CNN的檢測準確度明顯高于SVM的檢測準確度,但CNN復雜,檢測耗時也明顯高于傳統(tǒng)機器學習算法。而圖10則表明:就單幀檢測耗時而言,CNN檢測耗時最長,SVM檢測耗時最短。本文提出SVM-MultiCNN算法在保證了算法準確度的前提下,大大降低了檢測耗時,這是由于CNN算法的高準確度是以犧牲模型復雜度為代價的,本文提出的SVM-MultiCNN算法充分提取不同關節(jié)點的跌倒特征。綜上所述,本文提出的跌倒檢測算法在不降低檢測準確度的前提下,大大縮短了檢測耗時,因此具有獨特的性能提升。

實驗5為了對本文提出的跌倒檢測算法進行有效評估,在公開跌倒數(shù)據(jù)集UR Fall Detection Dataset中進行相關測試和驗證。UR Fall Detection Dataset數(shù)據(jù)集提供了由Kinect深度相機和同步加速度傳感器分別從正面角度和俯視角度獲取的深度圖、RGB圖以及加速度數(shù)據(jù)。該數(shù)據(jù)集包含30個跌倒視頻和40個日?;顒右曨l,樣本的行為包含:橫摔、側摔、走路、坐下、彎腰等多種行為。

本實驗仍然設置CNN模型的第1、第2層卷積核數(shù)分別為32和64,MultiCNN卷積核數(shù)為64,并設置閾值為Pmax=0.8,Pmin=0.2,對單獨SVM檢測,單獨CNN檢測,單獨MultiCNN檢測以及本文提出的SVM-MultiCNN算法進行比較,實驗結果如圖11、圖12所示,再次驗證了本文所提算法的有效性。

圖11 UR數(shù)據(jù)集跌倒檢測準確度

圖12 UR數(shù)據(jù)集單幀檢測耗時

3 結束語

本文提出了一種基于SVM-MultiCNN模型的視覺感知跌倒檢測算法,通過構建人體關節(jié)點行為矩陣來表征跌倒行為并輸入至SVM進行初分類,對于難以判決的類跌倒行為進一步用CNN和MultiCNN實現(xiàn)二次分類,既利用了SVM模型的時間效率,又利用了CNN模型的高精度性,在保證檢測準確度的前提下降低了算法的復雜度。后續(xù)工作中,將繼續(xù)探究在采用跌倒檢測模型之前先提取人體區(qū)域,減少背景帶來的冗余信息,從而降低檢測耗時。

猜你喜歡
關節(jié)點準確度卷積
矛盾轉化關節(jié)點視角下的新時代發(fā)展特質與方向
基于關節(jié)點數(shù)據(jù)關注RGB視頻的雙人交互行為識別
影響重力式自動裝料衡器準確度的因素分析
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
一種并行不對稱空洞卷積模塊①
重載機車網絡重聯(lián)TCN 故障節(jié)點識別方法研究*
關節(jié)點連接歷史圖與卷積神經網絡結合的雙人交互動作識別
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
論提高裝備故障預測準確度的方法途徑
西充县| 武平县| 遂川县| 济宁市| 嘉禾县| 石楼县| 华阴市| 孝感市| 家居| 青阳县| 互助| 荣成市| 子长县| 卢湾区| 天等县| 宽甸| 勃利县| 建阳市| 浪卡子县| 修水县| 通河县| 土默特右旗| 宜州市| 蒲江县| 花垣县| 松江区| 久治县| 米易县| 辽宁省| 河池市| 左云县| 海南省| 娱乐| 岱山县| 海晏县| 鸡西市| 阳信县| 五指山市| 易门县| 梁平县| 钟祥市|