羅海峰,佐 研
(西安電子科技大學(xué)微電子學(xué)院,陜西 西安 710068)
人口老齡化成為近些年熱度頗高的詞匯,當(dāng)一個國家或地區(qū)60歲以上老年人口占人口總數(shù)的10%,或65歲以上老年人口占人口總數(shù)的7%,即意味著這個國家或地區(qū)的人口處于老齡化社會。從全球范圍來看,越來越多的國家都已經(jīng)步入了老齡化社會。在全球社區(qū)老年人中,30%的65歲以上老人和50%的85歲以上老人每年至少發(fā)生一次跌倒[1]。老年人跌倒問題也逐漸成為了亟待解決的老年人問題之一。
在上述大環(huán)境下,本文決定運用深度學(xué)習(xí)方法對于人體跌倒進行識別。通過使用紅外攝像機拍攝熱傳感圖像后,輸入訓(xùn)練完成的搭建的VGG16卷積神經(jīng)網(wǎng)絡(luò)中,由其得出最終的結(jié)果并由此判定是否存在老年人的跌倒現(xiàn)象。
卷積神經(jīng)網(wǎng)絡(luò)是一種以圖像識別為中心的多個領(lǐng)域都得到廣泛應(yīng)用的深度學(xué)習(xí)方法。該方法的由來,是在神經(jīng)認知機的基礎(chǔ)上,適用于不同的環(huán)境而得到的。卷積神經(jīng)網(wǎng)絡(luò)主要由三個部分組成,分別為輸入層,輸出層和隱藏層。其中隱藏層中還包含卷積層,池化層和全連接層,這些都是卷積神經(jīng)網(wǎng)絡(luò)的重要組成部分[2]。
卷積神經(jīng)網(wǎng)絡(luò)的輸入層主要用于進行數(shù)據(jù)的接收,將接收到的數(shù)據(jù)直接傳入到后續(xù)的各隱藏層之中,進行前向傳播和誤差反向傳播的訓(xùn)練,直至網(wǎng)絡(luò)達到設(shè)定的訓(xùn)練次數(shù)或者訓(xùn)練預(yù)測達到設(shè)定的閾值為止[3,4]。在輸入層后,通常會用一個卷積層進行連接。
卷積神經(jīng)網(wǎng)絡(luò)的卷積層通常處于輸入層之后,主要用于進行輸入數(shù)據(jù)的特征提取。對于傳入卷積層的數(shù)據(jù),會通過卷積操作將輸入的數(shù)據(jù)中重要的特征部分進行提取,卷積操作后會輸出一張輸入數(shù)據(jù)的特征圖,傳入下一個隱藏層。由于卷積操作會使得輸入數(shù)據(jù)的大小不斷減小,可以通過使用填充數(shù)字0的方法,來保證原始輸入數(shù)據(jù)的尺寸大小不變,保證原本存在的特征不會丟失。
經(jīng)過卷積層進行卷積運算后得到的特征圖,還不能夠直接作為下一層的輸入數(shù)據(jù)直接傳入到下一個隱藏層,還需要經(jīng)過激活函數(shù)的計算之后,進行傳輸。卷積神經(jīng)網(wǎng)絡(luò)各隱藏層之間的參數(shù)傳遞其實是一個線性組合的過程,但是對于非線性問題來說,無法使用線性組合進行表示,所以需要一個能夠?qū)⒕€性組合轉(zhuǎn)化成非線性組合的工具,那就是激活函數(shù)。激活函數(shù)能夠使得神經(jīng)網(wǎng)絡(luò)的表達能力更加強大,本次研究中用到的激活函數(shù)為ReLu激活函數(shù),其函數(shù)表達式為:
在經(jīng)過激活函數(shù)后,當(dāng)前的特征圖可以作為池化層的輸入?yún)?shù),傳入到池化層中。
卷積神經(jīng)網(wǎng)絡(luò)的池化層通常用于解決特征圖計算量過大,計算效率較低的情況。通過使用池化層,可以有效地加快計算速度和達到防止輸出特征圖數(shù)據(jù)過擬合的效果,在池化方法的選擇上,存在兩種常見的方法,一種是最大池化法,一種是平均池化法。在本次研究當(dāng)中,對于網(wǎng)絡(luò)中的所有池化層,選擇使用最大池化法進行池化操作。
當(dāng)前的特征圖經(jīng)過池化操作后,就可以作為輸入?yún)?shù)傳輸?shù)较乱粚尤B接層當(dāng)中。
卷積神經(jīng)網(wǎng)絡(luò)的全連接層通常處于隱藏層的末端,把經(jīng)過池化處理過后的特征圖從二維數(shù)據(jù)轉(zhuǎn)化成一維向量,目的在于將學(xué)到的“分布式特征表示”映射到樣本的標(biāo)記空間的作用。在實際的使用過程中,全連接層可由卷積操作實現(xiàn)。在全連接層的計算過程中,也會使用到激活函數(shù)計算輸出值,在本次的研究中,所有的全連接層中使用的激活函數(shù)也都為ReLu激活函數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)的輸出層主要用于輸出最終的結(jié)果。對于分類問題,首先計算出對于各個類別的預(yù)測概率,然后比較取出其中的最大值,找到其對應(yīng)的類別編號或者名稱,作為最終的輸出數(shù)據(jù)。對于預(yù)測問題,則是直接輸出預(yù)測的概率即可。
Google DeepMind公司研究員與牛津大學(xué)計算機視覺組在2014年共同研發(fā)出了一種全新的卷積神經(jīng)網(wǎng)絡(luò)--VGG-Net。在同年舉辦的ILSVRC比賽中,該網(wǎng)絡(luò)結(jié)構(gòu)模型在分類項目中取得了十分出色的成績,由于其簡潔性和實用性,使得其在當(dāng)時迅速,飛快地成為了最受歡迎的卷積神經(jīng)網(wǎng)絡(luò)模型。VGG-Net卷積神經(jīng)網(wǎng)絡(luò)在近年來衍生出了A-E七種不同的層次結(jié)構(gòu),本次研究使用其中的D結(jié)構(gòu),也就是VGG-16Net結(jié)構(gòu),該結(jié)構(gòu)中包含了13個卷積層,5個池化層和3個全連接層。針對所有的卷積層,使用相同的5*5大小的卷積核,針對所有的池化層,使用相同的3*3大小的池化核。VGG-Net結(jié)構(gòu)如圖1所示。
在針對人體跌倒識別的問題上,VGG-Net有著一些相較于其他神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,主要包括以下幾點:
1) 卷積核,池化核大小固定。網(wǎng)絡(luò)中所有的卷積核大小固定為3*3,所有的池化核大小固定為5*5。這樣在進行卷積和池化操作的時候,從數(shù)據(jù)中提取到的特征更加明顯,同時在層與層的連接時,信息的丟失會更少,更加方便后續(xù)對于重要特征的提取和處理。
2) 特征提取更全面。VGG-Net網(wǎng)絡(luò)模型中包含了13個卷積層。卷積層數(shù)目越多,對于特征的提取更加的全面。由于需要對于人體跌倒的姿態(tài)進行判定,人體跌倒時的特征較多,需要在提取時更加的全面,細致,才有可能得到一個更加準(zhǔn)確的判定。VGG-Net符合條件。
3) 網(wǎng)絡(luò)訓(xùn)練誤差收斂速度較快。VGG-Net網(wǎng)絡(luò)在訓(xùn)練時收斂速度相對較快,能夠較快地得到預(yù)期的結(jié)果。具有這一特點的原因有兩個,一個是網(wǎng)絡(luò)中每一個卷積層和池化層中的卷積核大小與池化核大小固定,另一個就是對于各個隱藏層的參數(shù)初始化方法使用專門針對ReLU激活函數(shù)的Kaiming正態(tài)初始化方法。
本次研究基于Pytorch深度學(xué)習(xí)框架進行網(wǎng)絡(luò)的搭建,利用模塊化的設(shè)計思想,構(gòu)建一個類,來對于整個的網(wǎng)絡(luò)進行結(jié)構(gòu)上的封裝。這樣搭建的好處是可以隱藏實現(xiàn)的內(nèi)部細節(jié),提高代碼的安全性,增強代碼的復(fù)用效率,并且對于一些方法,通過在內(nèi)部集成,可以方便之后對于其中方法的調(diào)用,提升代碼的簡潔性。
在網(wǎng)絡(luò)搭建完成后,將數(shù)據(jù)集傳入網(wǎng)絡(luò)中進行訓(xùn)練,經(jīng)過一段時間后即可得到對于人體跌倒姿態(tài)的分類識別結(jié)果。
本次研究使用紅外圖像人體姿態(tài)數(shù)據(jù)集,所有數(shù)據(jù)圖片通過使用紅外圖像攝像機進行拍攝。考慮到老年人跌倒的情況大多數(shù)出現(xiàn)于夜晚,所以使用能在夜晚對于人體姿態(tài)圖像進行較好捕捉的紅外攝像機進行圖片的獲取。該數(shù)據(jù)集總共具有2 384張紅外人體姿態(tài)圖像,其中的人體姿態(tài)包括人體的行走姿態(tài),人體的站立形態(tài),人體的坐立形態(tài),人體的跌倒形態(tài)和人體的揮手形態(tài),共五種形態(tài)。訓(xùn)練數(shù)據(jù)有1 590張,驗證數(shù)據(jù)有395張,測試數(shù)據(jù)有399張。
在進行網(wǎng)絡(luò)訓(xùn)練前,先對圖片進行預(yù)處理操作。首先將圖片大小變換到相同尺寸,之后對于每張輸入網(wǎng)絡(luò)的圖片進行標(biāo)準(zhǔn)歸一化處理。同時考慮到數(shù)據(jù)集中的數(shù)據(jù)圖片數(shù)目較少,考慮在進行圖像預(yù)處理時對圖片進行隨機裁剪,隨機旋轉(zhuǎn)角度等操作,增加訓(xùn)練圖片的數(shù)目,將數(shù)據(jù)集從原本的2 384張圖片增加到4 357張圖片,使網(wǎng)絡(luò)的訓(xùn)練達到較好的訓(xùn)練效果。對于訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)的分類判別準(zhǔn)確率曲線如下圖2所示。
在經(jīng)過五十輪的訓(xùn)練之后,最終網(wǎng)絡(luò)對于訓(xùn)練集中的數(shù)據(jù)分類準(zhǔn)確率達到了92%左右,對于測試集中的數(shù)據(jù)分類準(zhǔn)確率達到了90%左右,相較于訓(xùn)練集的分類準(zhǔn)確率略低。說明使用VGG-16Net網(wǎng)絡(luò)能夠?qū)τ谌梭w跌倒的紅外圖像進行一個較好的識別,能夠較為準(zhǔn)確的識別出是否有跌倒情況的發(fā)生。
針對人體跌倒現(xiàn)象的圖像識別問題,本文使用了深度學(xué)習(xí)方法進行解決。針對數(shù)據(jù)集數(shù)目較少的問題,在預(yù)處理部分使用隨機旋轉(zhuǎn),隨機裁剪等預(yù)處理方法增加數(shù)據(jù)集圖片數(shù)目,通過搭建卷積神經(jīng)網(wǎng)絡(luò)VGG16-Net,對于數(shù)據(jù)集圖片進行識別,最終在訓(xùn)練數(shù)據(jù)集上得到了92%左右的識別準(zhǔn)確率,在測試數(shù)據(jù)集上得到了90%左右的識別訓(xùn)練準(zhǔn)確率,能夠較為出色地對于人體跌倒現(xiàn)象進行識別。