趙 斌,鮑天龍,朱 明
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,合肥 230026)
基于圖像語義分割和CNN模型的老人跌倒檢測①
趙 斌,鮑天龍,朱 明
(中國科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,合肥 230026)
隨著老齡化社會的到來,獨居老人的安全問題越來越引人關(guān)注.其中,跌倒是老人在家中最常見也是危害最大的風(fēng)險之一.當(dāng)前已經(jīng)有許多關(guān)于老人跌倒檢測的算法,它們大多應(yīng)用在攝像頭固定的場景下,并主要采用前景提取方法來獲取人體輪廓.采用固定攝像頭意味著需要為家中每一處獨立的空間都安裝監(jiān)控設(shè)備才能保證對于老人的全面監(jiān)控,這顯然不實用.基于此,本文采用圖像語義分割算法和CNN分類模型,提出了一種可用于移動攝像頭上的老人跌倒檢測算法.首先采用當(dāng)前流行的全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional network)語義分割算法[1]分割出圖像中的人體,對于滿足面積比例條件的情況,直接通過寬高比特征判斷人體是否處于跌倒?fàn)顟B(tài); 否則,提出一種融合的CNN人體姿態(tài)判別模型,將人體區(qū)域分成Stand、Fall、Half-Lying三種情況分別進(jìn)行檢測,最后根據(jù)三者的分類結(jié)果判定圖像中是否包含跌倒人體.實驗結(jié)果顯示,文中的算法在具有較高的識別準(zhǔn)確率(91.32%)的同時,具有較低的誤報率(1.66%).
老人跌倒; 圖像語義分割; FCN; CNN
老齡化社會的到來導(dǎo)致現(xiàn)代人的生活壓力越來越大,絕大多數(shù)年輕人無法在家中陪伴父母老人.獨居老人的安全問題變得越來越嚴(yán)重,也越來越引人注意.跌倒是影響老年人安全最常見的一種行為.一旦發(fā)生跌倒,如果無法獲得及時的幫助或者治療,則很有可能會造成生命危險.正因如此,跌倒已經(jīng)隱隱然成為了導(dǎo)致老人意外死亡的最主要原因.鑒于此,研究人員提出了許多關(guān)于跌倒行為檢測的方法.大致有如下幾類:一是基于可穿戴設(shè)備的跌倒檢測[2-5],此類方法主要通過加速度計、陀螺儀等傳感器對加速度、傾斜角度等物理量變化的探測來進(jìn)行檢測,一般具有較高的準(zhǔn)確性,且不會受到環(huán)境布局的影響.但是長時間的穿戴會給老人帶來非常多的不便,并且一旦老人忘記穿戴或者遺失則會導(dǎo)致該方法完全無效; 二是基于環(huán)境布設(shè)傳感器的跌倒檢測[6-9],此類方法主要在室內(nèi)多個位置安裝設(shè)備記錄老年人的活動,再通過融合諸如紅外探測器、聲音傳感器、震動計等儀器得到的信息,對跌倒行為進(jìn)行檢測.具有實現(xiàn)簡單,維護(hù)方便等優(yōu)點,但是安置多個傳感器的價格昂貴,成本較高,而且極容易受到周圍環(huán)境的影響; 三是基于視覺的跌倒檢測,這類方法可以克服上面兩種檢測方法的缺陷,在減輕被檢測對象的負(fù)擔(dān)的同時,還能提高檢測的準(zhǔn)確性.因此,越來越多的學(xué)者將研究重點放在了基于視覺的檢測算法上,如基于人體形狀靜止/變化的檢測方法[10],基于姿勢的跌倒檢測方法[11],基于頭部位置分析的跌倒檢測方法[12]等等.這些算法都是應(yīng)用在固定監(jiān)控攝像頭場景之下,并通過背景減除等方法進(jìn)行前景提取來獲得人體輪廓的.這意味著,為了實現(xiàn)全屋監(jiān)控,我們需要在家中每一處獨立的空間內(nèi)都安裝監(jiān)控裝置,顯然這并不實用,如果考慮人體會被遮擋的情況,則問題變的更為復(fù)雜.因此,我們考慮通過移動攝像頭對老人跌倒進(jìn)行檢測.近年來移動攝像頭已被廣泛應(yīng)用于家庭環(huán)境中,如備受研究者青睞的家庭型服務(wù)機器人就是典型實例之一.采用移動攝像頭可以避免由于攝像頭固定導(dǎo)致的全屋多個攝像頭、遮擋等問題.
然而,由于攝像頭處于移動狀態(tài),一方面,我們不一定能獲得老人在一段時間內(nèi)的行為以及老人跌倒的整個過程,因此基于連續(xù)幀行為分析的方法無法實現(xiàn);另一方面,視頻畫面中的背景一直在變化,因此基于背景減除提取前景從而獲得人體輪廓的方法亦無法實現(xiàn).
針對于此,本文提出一種可配置在移動攝像頭下的跌倒檢測算法,首先通過適用于圖像語義分割的全卷積網(wǎng)絡(luò)算法(FCN)來實現(xiàn)畫面中人體的檢測,并對FCN分割所得的人體區(qū)域進(jìn)行面積特征和人體寬高比判定,如果滿足系統(tǒng)設(shè)定的閾值,則直接分類得出結(jié)果;如果不滿足,則以人體區(qū)域為基準(zhǔn),對原圖以三種不同的尺寸進(jìn)行裁剪,將所得圖像塊放入事先訓(xùn)練好的組合CNN分類模型中進(jìn)行進(jìn)一步的人體姿態(tài)分類.最終根據(jù)所得的分類結(jié)果判定畫面中是否包含跌倒人體.
本文提出的方法包括三部分:首先通過FCN分割出人體區(qū)域,然后基于面積比例判斷人體區(qū)域是否完整,若完整,則根據(jù)區(qū)域長寬比判斷是否為跌倒或站立狀態(tài),直接得到分類結(jié)果.若人體區(qū)域不完整或根據(jù)長寬比無法判斷是否為跌倒或站立狀態(tài),則進(jìn)一步通過組合三個CNN人體姿態(tài)分類器進(jìn)行姿態(tài)分類,最終達(dá)到跌倒檢測的目的.算法流程圖如圖1所示.
圖1 算法流程圖
本文算法首先需要獲得圖片中人體區(qū)域,我們采用了基于圖像語義分割的FCN方法對圖像進(jìn)行分割,從而得圖像中人體區(qū)域.
經(jīng)典CNN結(jié)構(gòu)一般適用于圖像級別的分類和回歸任務(wù),因為它們最后都期望得到整個圖像的一個數(shù)值描述.但在圖像語義分割任務(wù)中,我們要得到的是圖像像素級別的分類結(jié)果,需要將圖像分割為若干個區(qū)域,使得語義相同的像素被分割在同一個區(qū)域內(nèi),這時CNN就顯得力不從心了.而傳統(tǒng)的語義分割方法是以某個像素點為中心,取一個區(qū)域內(nèi)的圖像塊作為樣本去訓(xùn)練分類器.然后在測試時,同樣在測試圖片上以每個像素點為中心采一圖像塊進(jìn)行分類,分類所得的結(jié)果就是此像素點的類別.這種做法缺點非常明顯:首先,我們難以確定圖像塊的大小,從小的圖像塊(Patch)中所能獲得的上下文信息(Context)較少,會影響算法的性能,其次由于對每一個像素點都需要進(jìn)行這一處理,整個過程會極端耗時.
FCN通過訓(xùn)練一個端到端的網(wǎng)絡(luò)進(jìn)行像素級別的預(yù)測,并以ground-truth作為監(jiān)督信息來預(yù)測label map,從而高效地解決了語義級別圖像分割的問題.
具體來說,FCN將傳統(tǒng)CNN網(wǎng)絡(luò)結(jié)構(gòu)中的全連接層都轉(zhuǎn)化成了一個個的卷積層.因此,與CNN最終得到固定長度的特征向量進(jìn)行分類不同,FCN可以接受任意尺寸的輸入圖像,然后采用反卷積層對最后一個卷積層的feature map進(jìn)行上采樣,使它恢復(fù)到輸入圖像相同的尺寸,從而可以對每一個像素產(chǎn)生一個預(yù)測,并保留原始輸入圖像中的空間信息,最后再在上采樣的feature map上進(jìn)行逐像素分類,得到最終的分割結(jié)果.
在本算法中,我們采用8倍上采樣的FCN模型對原始圖片進(jìn)行分割,得到人體像素點集,再通過對像素點集進(jìn)行輪廓提取,用輪廓最小外包矩形截取出人體區(qū)域.
2.2.1 面積判定條件
盡管FCN可以很準(zhǔn)確的分割出人體所在的區(qū)域,但是所得結(jié)果會顯得比較粗糙,不夠精細(xì).有時分割出來的人體還會存在像素點過少、頭部腳部缺失等情況.因此,我們首先需要對FCN分割出的人體是否完整進(jìn)行驗證,我們采用了面積比例的方法,其中面積以像素點個數(shù)進(jìn)行計算.我們記整張圖片面積為area_image,人體外接矩形框面積為area_rect,人體區(qū)域面積為area_person.經(jīng)過我們大量的實驗發(fā)現(xiàn),若FCN分割出的是完整的人體,則人體區(qū)域面積占整張圖片總面積的比例處于1/20到1/10之間,而人體外接矩形框面積占整張圖片總面積的比例則處于1/16到1/8之間.即滿足如下條件:
area_person/area_image>1/20,
area_rect/area_image>1/16.
因此,我們以這個條件作為對FCN分割出的是否為完整人體進(jìn)行判斷的標(biāo)準(zhǔn).若滿足條件,則我們直接通過人體矩形框?qū)捀弑冗M(jìn)行姿態(tài)判別; 若不滿足,表明FCN檢測出的人體像素點過少,不能通過寬高比進(jìn)行處理,則利用一個組合的CNN人體姿態(tài)判別模型進(jìn)行姿態(tài)分類.
2.2.2 人體寬高比
正常人行走的情況下,人體的矩形框的高總是大于寬,而人體摔倒的時候人體的高總是小于寬,且兩種情況下,兩者比例都在2倍以上.這一特征為人體是正常行走還是跌倒在地提供了判依據(jù)斷.
定義Rh/w=Height/Width(其中,人體的高度為Height,人體的寬度為Width).
如果人體外接矩形框?qū)捀弑葷M足:
(1)Rh/w<1/2,則判定該畫面中包含跌倒人體.
(2)Rh/w>2,則判定該畫面中包含站立人體.
如果人體外接矩形框不滿足上述兩種情況,則表明人體姿勢并非簡單明確的站立或者躺倒,無法直接判定人體形狀,因此,和之前不滿足面積比例的情況一樣,我們采用組合的三個CNN人體姿態(tài)判別模型進(jìn)行姿態(tài)分類.
由于最近機器學(xué)習(xí)的發(fā)展,以及CNN模型在各個領(lǐng)域中的出色表現(xiàn)[13,14],我們采用組合的3個CNN二分類模型對分割結(jié)果進(jìn)行進(jìn)一步研究,并得到最終的人體姿態(tài)類別,從而解決上述兩種無法通過人體特征直接進(jìn)行姿態(tài)分類的問題.
常規(guī)的分類算法,一般都是直接將整幀圖像作為樣本進(jìn)行模型訓(xùn)練,這種方法的好處在于數(shù)據(jù)準(zhǔn)備簡單,無須復(fù)雜的預(yù)處理.但由于不同姿態(tài)下的人體所占圖片比例不一樣,如果在本文算法中,也采用整幀訓(xùn)練的方法,簡單地以整張圖片或截取固定尺寸大小的區(qū)域作為輸入,則會產(chǎn)生明顯的缺點:樣本中會包含過多的背景信息,從而影響模型的識別準(zhǔn)確率.因此,本文分別訓(xùn)練了3個CNN二分類器.第一個CNN分類器我們稱之為Fall分類器,它的目的是跌倒人體判別,我們以FCN分割出的人體區(qū)域為基礎(chǔ),向四周擴展為400*200的尺寸并截取區(qū)域,作為輸入.第二個稱為Half-Lying分類器,目的是蜷縮人體判別,輸入尺寸為200*200,第三個稱為Stand分類器,目的是站立人體判別,輸入尺寸為100*300.樣本示例如圖2所示.
圖2 訓(xùn)練樣本示例
針對每一個CNN,我們采用簡化的VGG模型,主要由5個簡化后的卷積層、5個池化層、2個全連接圖像特征層和1個全連接分類特征層組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
圖3 網(wǎng)絡(luò)結(jié)構(gòu)圖
最后,我們將3個CNN的分類結(jié)果進(jìn)行比較,取置信度最高的作為最終的分類結(jié)果,若結(jié)果為跌倒?fàn)顟B(tài),則認(rèn)為檢測到跌倒.
本文采用如圖4所示的室內(nèi)移動小車來完成系統(tǒng)實驗.該機器人采用步進(jìn)電機提供動力,使用編碼器反饋機器人轉(zhuǎn)動的角度,其運行速度為0.50 m/s,并且采用300萬像素的攝像頭來采集圖片.配備搭載win10系統(tǒng),4 G 內(nèi)存,Intelcore i5 處理器的 PC 機.
經(jīng)過FCN分割之后人體區(qū)域如下圖所示.圖5(a)中,分割結(jié)果較為理想,滿足面積比例,可以直接采用寬高比特征判定人體姿態(tài); 圖5(b)中,前兩種屬于像素點過少或人體部位缺失的情況,后一種則表示人體處于蜷縮或者半倒下狀態(tài),這些都無法采用面積比例加寬高比特征直接進(jìn)行判定,因此,將這些結(jié)果放入組合的CNN分類模型中進(jìn)行進(jìn)一步的姿態(tài)分類.
圖4 機器小車實驗平臺
圖5 FCN 分割效果
以Fall分類器為例進(jìn)行介紹,其余兩種分類器訓(xùn)練方式相同.
3.2.1 數(shù)據(jù)準(zhǔn)備
首先,我們安排20位身高在1.5-1.8米之間的志愿者,讓他們在家庭環(huán)境中模擬老人進(jìn)行走路,跌倒或者坐下,攝像頭拍下他們行動的視頻.針對這些視頻的每一幀,我們采用FCN進(jìn)行人體分割,得到分割結(jié)果之后,以人體所在區(qū)域為中心截取100×300的圖像塊并保存,一人獲得大約500張的初始樣本,然后手工剔除動作重復(fù)、人體不全、畫面模糊的圖片,最后得到一人250張,總數(shù)5000張的正訓(xùn)練樣本(圖6(a)).再從原始圖片(包括無人的純背景、有人站立、坐倒等情況下的圖片)中隨機裁剪5000張100×300尺寸的圖像塊作為負(fù)訓(xùn)練樣本(圖6(b)).
圖6 Fall分類器樣本
3.2.2 訓(xùn)練結(jié)果
訓(xùn)練模型時,我們選取的batch_size為32,初始學(xué)習(xí)率為0.0001,最大迭代次數(shù)為3000次.
經(jīng)過我們后續(xù)重新拍攝的1000張測試樣本的測試結(jié)果顯示,模型識別準(zhǔn)確率可以達(dá)到99%.同樣的,對Stand分類器和Half-Lying分類器進(jìn)行的測試結(jié)果顯示,準(zhǔn)確率都可以達(dá)到95%以上.
由于本文提出的算法基于移動攝像頭,且針對單幀圖像直接進(jìn)行人體姿態(tài)的判別,傳統(tǒng)用于檢驗準(zhǔn)確率的標(biāo)準(zhǔn)視頻數(shù)據(jù)集無法采用.因此采用我們拍攝的圖片數(shù)據(jù)集進(jìn)行算法測試.由于正常情況下,老人蹲下或者坐在地面上的情況很少出現(xiàn).所以為了簡化實驗結(jié)果,我們將老人下蹲、蜷縮或者坐在地面上的情況也視為跌倒.測試結(jié)果只展示為跌倒或非跌倒這兩種情況.實驗選取跌倒、下蹲、坐下、站立、無人等多種情況下,對50名志愿者拍攝的共計1919張圖片進(jìn)行測試(其中下蹲,坐下也算作跌倒,站立和無人則都算作非跌倒).
具體測試結(jié)果如表1所示.
表1 實驗結(jié)果
由上表結(jié)果可以發(fā)現(xiàn):本文的算法的跌倒識別率達(dá)到91.32%,檢測出了715張跌倒圖像中的653張,同時誤報率只有1.66%,考慮到測試樣本中每張樣本的姿態(tài)都存在明顯差異,故檢測結(jié)果存在合理性.由此可以看出,本文提出的方法在我們的單人跌倒場景下具有較高的識別準(zhǔn)確率和很低的誤報率.
本文創(chuàng)新性地提出一種可用于移動攝像頭下的跌倒檢測算法,首先采用適用于語義分割的全卷積網(wǎng)絡(luò)(FCN)對圖像進(jìn)行人體分割,再利用面積判定條件對人體像素點進(jìn)行判定以檢驗FCN分割精確度,對滿足面積條件的情況直接采用人體寬高比特征對人體區(qū)域進(jìn)行判定得到跌倒分類結(jié)果; 對于不滿足面積條件或者不滿足人體寬高比條件的情況,在分割出的人體區(qū)域處裁剪三種不同尺寸的圖像塊,并送入由三個二分類器組合而成的CNN模型中進(jìn)行人體姿態(tài)分類,最后判定當(dāng)前視頻幀中是否存在跌倒人體.實驗表明,我們的算法不僅可以較好地解決移動攝像頭下難以通過前景提取獲得人體輪廓的問題,而且還具有較高的識別準(zhǔn)確率和較低的誤報率,在實際場景中也有著較好的實用性.
下一步的工作,我們將側(cè)重于分割準(zhǔn)確率的提升,會嘗試對FCN進(jìn)行改進(jìn).同時會對人體姿態(tài)進(jìn)行更為詳細(xì)的分類,將下蹲、彎腰、跪倒等情況也納入研究范圍,從而實現(xiàn)更為精確的分類.
1Long J,Shelhamer E,Darrell T.Fully convolutional networks for semantic segmentation.Proc.of IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Boston,MA,USA.2015.3431–3440.
2Bianchi F,Redmond SJ,Narayanan MR,et al.Barometric pressure and triaxial accelerometry-based falls event detection.IEEE Trans.on Neural Systems and Rehabilitation Engineering,2010,18(6):619–627.[doi:10.1109/TNSRE.2010.2070807]
3Shany T,Redmond SJ,Narayanan MR,et al.Sensors-based wearable systems for monitoring of human movement and falls.IEEE Sensors Journal,2012,12(3):658–670.[doi:10.1109/JSEN.2011.2146246]
4Zhao GR,Mei ZY,Liang D,et al.Exploration and implementation of a pre-impact fall recognition method based on an inertial body sensor network.Sensors,2012,12(11):15338–15355.
5Tamura T,Yoshimura T,Sekine M,et al.A wearable airbag to prevent fall injuries.IEEE Trans.on Information Technology in Biomedicine,2009,13(6):910–914.[doi:10.1109/TITB.2009.2033673]
6Suryadevara NK,Gaddam A,Rayudu RK,et al.Wireless sensors network based safe home to care elderly people:Behaviour detection.Sensors and Actuators A:Physical,2012,186:277–283.[doi:10.1016/j.sna.2012.03.020]
7Doukas CN,Maglogiannis I.Emergency fall incidents detection in assisted living environments utilizing motion,sound,and visual perceptual components.IEEE Trans.on Information Technology in Biomedicine,2011,15(2):277–289.[doi:10.1109/TITB.2010.2091140]
8Zigel Y,Litvak D,Gannot I.A method for automatic fall detection of elderly people using floor vibrations and soundproof of concept on human mimicking doll falls.IEEE Trans.on Biomedical Engineering,2009,56(12):2858–2867.[doi:10.1109/TBME.2009.2030171]
9Robinson CJ,Purucker MC,Faulkner LW.Design,control,and characterization of a sliding linear investigative platform for analyzing lower limb stability (SLIP-FALLS).IEEE Trans.on Rehabilitation Engineering,1998,6(3):334–350.[doi:10.1109/86.712232]
10Foroughi H,Naseri A,Saberi A,et al.An eigenspace-based approach for human fall detection using integrated time motion image and neural network.Proc.of the 9th International Conference on Signal Processing.Beijing,China.2008.1499–1503.
11Cucchiara R,Grana C,Prati A,et al.Probabilistic posture classification for human-behavior analysis.IEEE Trans.on Systems,Man,and Cybernetics-Part A:Systems and Humans,2005,35(1):42–54.[doi:10.1109/TSMCA.2004.838501]
12Hazelhoff L,Han J,de With PHN.Video-based fall detection in the home using principal component analysis.Proc.of the 10th International Conference on Advanced Concepts for Intelligent Vision Systems.Berlin Heidelberg,Germany.2008.298–309.
13Li QF,Zhou XF,Gu AH,et al.Nuclear norm regularized convolutional max Pos@Top machine.Neural Computing and Applications,2016:1–10.[doi:10.1007/s00521-016-2680-2]
14Liang EZ,Liang GY,Li WZ,et al.Learning convolutional neural network to maximize Pos@Top performance measure.arXiv preprint arXiv:1609.08417,2016.
Elderly Falling Detection Based on Image Semantic Segmentation and CNN Model
ZHAO Bin,BAO Tian-Long,ZHU Ming
(School of Information Science and Technology,University of Science and Technology of China,Hefei 230026,China)
With the growing population of elderly people,the safety of the elders living alone becomes a rising issue for the society.Falling down is one of the most common and greatest risks and injuries occurring to the elders living at home.There have been many algorithms on elderly falling detection.However,the vast majority of the existing methods,which use foreground extraction to get human body silhouette are implemented on static cameras.It means that we should implement cameras for every independent region in the house to make sure that the elders is visible in the frame,which is impractical.This paper proposes a novel approach for detecting human body falls based on image semantic segmentation and convolutional neural network model(CNN),which can be implemented on portable cameras.First,the fully convolutional network(FCN)is used to segment human pixels in the frame.If the body shape meets the conditions of area ratio,aspect ratio is used to estimate whether it is a falling body or not.Otherwise,a combined CNN classification model is used.Regions of human body are classified in three cases (fall,stand,half-lying)and the results are used to estimate whether there is a falling body in the frame.From the experimental results we achieved,it was concluded that our method has a high recognition rate (91.32%)and low false alarm rate(1.66%).
elderly falling detetction; image semantic segmentation; FCN; CNN
趙斌,鮑天龍,朱明.基于圖像語義分割和CNN模型的老人跌倒檢測.計算機系統(tǒng)應(yīng)用,2017,26(10):213–218.http://www.c-sa.org.cn/1003-3254/6004.html
中科院先導(dǎo)項目課題(XDA06011203)
2017-01-20; 采用時間:2017-02-20