趙 斌,鮑天龍,朱 明
(中國科學技術大學 信息科學技術學院,合肥 230026)
基于圖像語義分割和CNN模型的老人跌倒檢測①
趙 斌,鮑天龍,朱 明
(中國科學技術大學 信息科學技術學院,合肥 230026)
隨著老齡化社會的到來,獨居老人的安全問題越來越引人關注.其中,跌倒是老人在家中最常見也是危害最大的風險之一.當前已經有許多關于老人跌倒檢測的算法,它們大多應用在攝像頭固定的場景下,并主要采用前景提取方法來獲取人體輪廓.采用固定攝像頭意味著需要為家中每一處獨立的空間都安裝監控設備才能保證對于老人的全面監控,這顯然不實用.基于此,本文采用圖像語義分割算法和CNN分類模型,提出了一種可用于移動攝像頭上的老人跌倒檢測算法.首先采用當前流行的全卷積神經網絡(fully convolutional network)語義分割算法[1]分割出圖像中的人體,對于滿足面積比例條件的情況,直接通過寬高比特征判斷人體是否處于跌倒狀態; 否則,提出一種融合的CNN人體姿態判別模型,將人體區域分成Stand、Fall、Half-Lying三種情況分別進行檢測,最后根據三者的分類結果判定圖像中是否包含跌倒人體.實驗結果顯示,文中的算法在具有較高的識別準確率(91.32%)的同時,具有較低的誤報率(1.66%).
老人跌倒; 圖像語義分割; FCN; CNN
老齡化社會的到來導致現代人的生活壓力越來越大,絕大多數年輕人無法在家中陪伴父母老人.獨居老人的安全問題變得越來越嚴重,也越來越引人注意.跌倒是影響老年人安全最常見的一種行為.一旦發生跌倒,如果無法獲得及時的幫助或者治療,則很有可能會造成生命危險.正因如此,跌倒已經隱隱然成為了導致老人意外死亡的最主要原因.鑒于此,研究人員提出了許多關于跌倒行為檢測的方法.大致有如下幾類:一是基于可穿戴設備的跌倒檢測[2-5],此類方法主要通過加速度計、陀螺儀等傳感器對加速度、傾斜角度等物理量變化的探測來進行檢測,一般具有較高的準確性,且不會受到環境布局的影響.但是長時間的穿戴會給老人帶來非常多的不便,并且一旦老人忘記穿戴或者遺失則會導致該方法完全無效; 二是基于環境布設傳感器的跌倒檢測[6-9],此類方法主要在室內多個位置安裝設備記錄老年人的活動,再通過融合諸如紅外探測器、聲音傳感器、震動計等儀器得到的信息,對跌倒行為進行檢測.具有實現簡單,維護方便等優點,但是安置多個傳感器的價格昂貴,成本較高,而且極容易受到周圍環境的影響; 三是基于視覺的跌倒檢測,這類方法可以克服上面兩種檢測方法的缺陷,在減輕被檢測對象的負擔的同時,還能提高檢測的準確性.因此,越來越多的學者將研究重點放在了基于視覺的檢測算法上,如基于人體形狀靜止/變化的檢測方法[10],基于姿勢的跌倒檢測方法[11],基于頭部位置分析的跌倒檢測方法[12]等等.這些算法都是應用在固定監控攝像頭場景之下,并通過背景減除等方法進行前景提取來獲得人體輪廓的.這意味著,為了實現全屋監控,我們需要在家中每一處獨立的空間內都安裝監控裝置,顯然這并不實用,如果考慮人體會被遮擋的情況,則問題變的更為復雜.因此,我們考慮通過移動攝像頭對老人跌倒進行檢測.近年來移動攝像頭已被廣泛應用于家庭環境中,如備受研究者青睞的家庭型服務機器人就是典型實例之一.采用移動攝像頭可以避免由于攝像頭固定導致的全屋多個攝像頭、遮擋等問題.
然而,由于攝像頭處于移動狀態,一方面,我們不一定能獲得老人在一段時間內的行為以及老人跌倒的整個過程,因此基于連續幀行為分析的方法無法實現;另一方面,視頻畫面中的背景一直在變化,因此基于背景減除提取前景從而獲得人體輪廓的方法亦無法實現.
針對于此,本文提出一種可配置在移動攝像頭下的跌倒檢測算法,首先通過適用于圖像語義分割的全卷積網絡算法(FCN)來實現畫面中人體的檢測,并對FCN分割所得的人體區域進行面積特征和人體寬高比判定,如果滿足系統設定的閾值,則直接分類得出結果;如果不滿足,則以人體區域為基準,對原圖以三種不同的尺寸進行裁剪,將所得圖像塊放入事先訓練好的組合CNN分類模型中進行進一步的人體姿態分類.最終根據所得的分類結果判定畫面中是否包含跌倒人體.
本文提出的方法包括三部分:首先通過FCN分割出人體區域,然后基于面積比例判斷人體區域是否完整,若完整,則根據區域長寬比判斷是否為跌倒或站立狀態,直接得到分類結果.若人體區域不完整或根據長寬比無法判斷是否為跌倒或站立狀態,則進一步通過組合三個CNN人體姿態分類器進行姿態分類,最終達到跌倒檢測的目的.算法流程圖如圖1所示.

圖1 算法流程圖
本文算法首先需要獲得圖片中人體區域,我們采用了基于圖像語義分割的FCN方法對圖像進行分割,從而得圖像中人體區域.
經典CNN結構一般適用于圖像級別的分類和回歸任務,因為它們最后都期望得到整個圖像的一個數值描述.但在圖像語義分割任務中,我們要得到的是圖像像素級別的分類結果,需要將圖像分割為若干個區域,使得語義相同的像素被分割在同一個區域內,這時CNN就顯得力不從心了.而傳統的語義分割方法是以某個像素點為中心,取一個區域內的圖像塊作為樣本去訓練分類器.然后在測試時,同樣在測試圖片上以每個像素點為中心采一圖像塊進行分類,分類所得的結果就是此像素點的類別.這種做法缺點非常明顯:首先,我們難以確定圖像塊的大小,從小的圖像塊(Patch)中所能獲得的上下文信息(Context)較少,會影響算法的性能,其次由于對每一個像素點都需要進行這一處理,整個過程會極端耗時.
FCN通過訓練一個端到端的網絡進行像素級別的預測,并以ground-truth作為監督信息來預測label map,從而高效地解決了語義級別圖像分割的問題.
具體來說,FCN將傳統CNN網絡結構中的全連接層都轉化成了一個個的卷積層.因此,與CNN最終得到固定長度的特征向量進行分類不同,FCN可以接受任意尺寸的輸入圖像,然后采用反卷積層對最后一個卷積層的feature map進行上采樣,使它恢復到輸入圖像相同的尺寸,從而可以對每一個像素產生一個預測,并保留原始輸入圖像中的空間信息,最后再在上采樣的feature map上進行逐像素分類,得到最終的分割結果.
在本算法中,我們采用8倍上采樣的FCN模型對原始圖片進行分割,得到人體像素點集,再通過對像素點集進行輪廓提取,用輪廓最小外包矩形截取出人體區域.
2.2.1 面積判定條件
盡管FCN可以很準確的分割出人體所在的區域,但是所得結果會顯得比較粗糙,不夠精細.有時分割出來的人體還會存在像素點過少、頭部腳部缺失等情況.因此,我們首先需要對FCN分割出的人體是否完整進行驗證,我們采用了面積比例的方法,其中面積以像素點個數進行計算.我們記整張圖片面積為area_image,人體外接矩形框面積為area_rect,人體區域面積為area_person.經過我們大量的實驗發現,若FCN分割出的是完整的人體,則人體區域面積占整張圖片總面積的比例處于1/20到1/10之間,而人體外接矩形框面積占整張圖片總面積的比例則處于1/16到1/8之間.即滿足如下條件:
area_person/area_image>1/20,
area_rect/area_image>1/16.
因此,我們以這個條件作為對FCN分割出的是否為完整人體進行判斷的標準.若滿足條件,則我們直接通過人體矩形框寬高比進行姿態判別; 若不滿足,表明FCN檢測出的人體像素點過少,不能通過寬高比進行處理,則利用一個組合的CNN人體姿態判別模型進行姿態分類.
2.2.2 人體寬高比
正常人行走的情況下,人體的矩形框的高總是大于寬,而人體摔倒的時候人體的高總是小于寬,且兩種情況下,兩者比例都在2倍以上.這一特征為人體是正常行走還是跌倒在地提供了判依據斷.
定義Rh/w=Height/Width(其中,人體的高度為Height,人體的寬度為Width).
如果人體外接矩形框寬高比滿足:
(1)Rh/w<1/2,則判定該畫面中包含跌倒人體.
(2)Rh/w>2,則判定該畫面中包含站立人體.
如果人體外接矩形框不滿足上述兩種情況,則表明人體姿勢并非簡單明確的站立或者躺倒,無法直接判定人體形狀,因此,和之前不滿足面積比例的情況一樣,我們采用組合的三個CNN人體姿態判別模型進行姿態分類.
由于最近機器學習的發展,以及CNN模型在各個領域中的出色表現[13,14],我們采用組合的3個CNN二分類模型對分割結果進行進一步研究,并得到最終的人體姿態類別,從而解決上述兩種無法通過人體特征直接進行姿態分類的問題.
常規的分類算法,一般都是直接將整幀圖像作為樣本進行模型訓練,這種方法的好處在于數據準備簡單,無須復雜的預處理.但由于不同姿態下的人體所占圖片比例不一樣,如果在本文算法中,也采用整幀訓練的方法,簡單地以整張圖片或截取固定尺寸大小的區域作為輸入,則會產生明顯的缺點:樣本中會包含過多的背景信息,從而影響模型的識別準確率.因此,本文分別訓練了3個CNN二分類器.第一個CNN分類器我們稱之為Fall分類器,它的目的是跌倒人體判別,我們以FCN分割出的人體區域為基礎,向四周擴展為400*200的尺寸并截取區域,作為輸入.第二個稱為Half-Lying分類器,目的是蜷縮人體判別,輸入尺寸為200*200,第三個稱為Stand分類器,目的是站立人體判別,輸入尺寸為100*300.樣本示例如圖2所示.

圖2 訓練樣本示例
針對每一個CNN,我們采用簡化的VGG模型,主要由5個簡化后的卷積層、5個池化層、2個全連接圖像特征層和1個全連接分類特征層組成,網絡結構如圖3所示.

圖3 網絡結構圖
最后,我們將3個CNN的分類結果進行比較,取置信度最高的作為最終的分類結果,若結果為跌倒狀態,則認為檢測到跌倒.
本文采用如圖4所示的室內移動小車來完成系統實驗.該機器人采用步進電機提供動力,使用編碼器反饋機器人轉動的角度,其運行速度為0.50 m/s,并且采用300萬像素的攝像頭來采集圖片.配備搭載win10系統,4 G 內存,Intelcore i5 處理器的 PC 機.
經過FCN分割之后人體區域如下圖所示.圖5(a)中,分割結果較為理想,滿足面積比例,可以直接采用寬高比特征判定人體姿態; 圖5(b)中,前兩種屬于像素點過少或人體部位缺失的情況,后一種則表示人體處于蜷縮或者半倒下狀態,這些都無法采用面積比例加寬高比特征直接進行判定,因此,將這些結果放入組合的CNN分類模型中進行進一步的姿態分類.

圖4 機器小車實驗平臺

圖5 FCN 分割效果
以Fall分類器為例進行介紹,其余兩種分類器訓練方式相同.
3.2.1 數據準備
首先,我們安排20位身高在1.5-1.8米之間的志愿者,讓他們在家庭環境中模擬老人進行走路,跌倒或者坐下,攝像頭拍下他們行動的視頻.針對這些視頻的每一幀,我們采用FCN進行人體分割,得到分割結果之后,以人體所在區域為中心截取100×300的圖像塊并保存,一人獲得大約500張的初始樣本,然后手工剔除動作重復、人體不全、畫面模糊的圖片,最后得到一人250張,總數5000張的正訓練樣本(圖6(a)).再從原始圖片(包括無人的純背景、有人站立、坐倒等情況下的圖片)中隨機裁剪5000張100×300尺寸的圖像塊作為負訓練樣本(圖6(b)).

圖6 Fall分類器樣本
3.2.2 訓練結果
訓練模型時,我們選取的batch_size為32,初始學習率為0.0001,最大迭代次數為3000次.
經過我們后續重新拍攝的1000張測試樣本的測試結果顯示,模型識別準確率可以達到99%.同樣的,對Stand分類器和Half-Lying分類器進行的測試結果顯示,準確率都可以達到95%以上.
由于本文提出的算法基于移動攝像頭,且針對單幀圖像直接進行人體姿態的判別,傳統用于檢驗準確率的標準視頻數據集無法采用.因此采用我們拍攝的圖片數據集進行算法測試.由于正常情況下,老人蹲下或者坐在地面上的情況很少出現.所以為了簡化實驗結果,我們將老人下蹲、蜷縮或者坐在地面上的情況也視為跌倒.測試結果只展示為跌倒或非跌倒這兩種情況.實驗選取跌倒、下蹲、坐下、站立、無人等多種情況下,對50名志愿者拍攝的共計1919張圖片進行測試(其中下蹲,坐下也算作跌倒,站立和無人則都算作非跌倒).
具體測試結果如表1所示.

表1 實驗結果
由上表結果可以發現:本文的算法的跌倒識別率達到91.32%,檢測出了715張跌倒圖像中的653張,同時誤報率只有1.66%,考慮到測試樣本中每張樣本的姿態都存在明顯差異,故檢測結果存在合理性.由此可以看出,本文提出的方法在我們的單人跌倒場景下具有較高的識別準確率和很低的誤報率.
本文創新性地提出一種可用于移動攝像頭下的跌倒檢測算法,首先采用適用于語義分割的全卷積網絡(FCN)對圖像進行人體分割,再利用面積判定條件對人體像素點進行判定以檢驗FCN分割精確度,對滿足面積條件的情況直接采用人體寬高比特征對人體區域進行判定得到跌倒分類結果; 對于不滿足面積條件或者不滿足人體寬高比條件的情況,在分割出的人體區域處裁剪三種不同尺寸的圖像塊,并送入由三個二分類器組合而成的CNN模型中進行人體姿態分類,最后判定當前視頻幀中是否存在跌倒人體.實驗表明,我們的算法不僅可以較好地解決移動攝像頭下難以通過前景提取獲得人體輪廓的問題,而且還具有較高的識別準確率和較低的誤報率,在實際場景中也有著較好的實用性.
下一步的工作,我們將側重于分割準確率的提升,會嘗試對FCN進行改進.同時會對人體姿態進行更為詳細的分類,將下蹲、彎腰、跪倒等情況也納入研究范圍,從而實現更為精確的分類.
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模型的老人跌倒檢測.計算機系統應用,2017,26(10):213–218.http://www.c-sa.org.cn/1003-3254/6004.html
中科院先導項目課題(XDA06011203)
2017-01-20; 采用時間:2017-02-20