李洪俊
(河海大學(xué) 能源與電氣學(xué)院,江蘇 南京 211100)
隨著人口老齡化的加劇,越來越多的老人將需要奉養(yǎng),而我國的計(jì)劃生育政策使得許多的老人身邊沒有子女照料,隨之而來的老人獨(dú)立生活的安全等問題變得尤為突出。據(jù)估計(jì)目前全世界將近有1 800萬的人患有老年癡呆,到2025年底,這個數(shù)字可能會達(dá)到3 400萬。在這個基礎(chǔ)上,智能家居的研究就變得非常的迫切。高度智能化的家居環(huán)境能夠給空巢老人的晚年生活帶來極大的便利和安全保障。
在智能家居的研究中,活動[1]識別作為其中的一個研究課題,有著極其重要的作用。在一段時間里許多理論和算法被創(chuàng)造出來解決個人在一個空間里的被動跟蹤,行為識別等。近些年來通過使用無線設(shè)備的個人跟蹤[2-3]和基于空間上的視頻數(shù)據(jù)[4-5],傳感器數(shù)據(jù)[6]或其他信息的活動識別取得了重要進(jìn)展。在過去的幾年里,有一些方法被用來建立模型和識別活動,如隱含馬爾科夫模型(HMM)[7]等。
CASAS智能家居項(xiàng)目是華盛頓州立大學(xué)專注于創(chuàng)造一個智能家庭環(huán)境的一個研究項(xiàng)目。卡薩斯智能家居項(xiàng)目由各種各樣的傳感器數(shù)據(jù)有運(yùn)動傳感器、光線傳感器等等。為了實(shí)現(xiàn)老年人室內(nèi)幫助(Elderly in-home assistance,EHA[8]),能夠使老年人完成日常的生活活動(ADLS),諸如:吃飯、服藥、洗衣服、睡覺等,最重要的步驟之一就是識別單獨(dú)一個人在智能環(huán)境中執(zhí)行的活動。
為了能給這些算法提供訓(xùn)練數(shù)據(jù),我們在華盛頓州立大學(xué)的智能家居試驗(yàn)臺中測試算法,它屬于CASAS智能家居項(xiàng)目的一部分。如圖1所示,其中有3個臥室,1個浴室,1個廚房和1個起居室。在這個校園里的智能家居試驗(yàn)臺中,很多動作發(fā)生在這個智能環(huán)境里。智能環(huán)境試驗(yàn)臺里面裝有運(yùn)動傳感器、溫度傳感器和模擬傳感器。運(yùn)動傳感器分布在幾乎整個天花板上。另外溫度傳感器提供環(huán)境溫度讀數(shù),模擬傳感器提供熱水、冷水和暖爐的讀數(shù)。接觸開關(guān)傳感器用來監(jiān)管炒菜的鍋、電話本、藥瓶的使用情況?;顒幼R別的傳感器數(shù)據(jù)是由這些定制的傳感器網(wǎng)絡(luò)采集的,并且存放在SQL數(shù)據(jù)庫中?;顒訑?shù)據(jù)是由活動觸發(fā)的傳感器序列組成,稱傳感器事件(Sensor event)。
本文中,為了給算法提供物理數(shù)據(jù),我們招募了許多志愿者在這個智能環(huán)境里執(zhí)行一系列動作。采集到的傳感器事件被人工的標(biāo)注了活動ID。一共有10個活動,對這10個活動的編號如下:
Bed to toilet 活動編號0:起床上廁所,表示夜里起床到廁所的活動轉(zhuǎn)移。
Breakfast 活動編號1:吃早飯,表示志愿者吃早飯的日常生活活動。
Bed 活動編號2:該活動表示志愿者在床上睡覺。
Computer work 活動編號3:該活動表示志愿者在智能家居的工作空間里工作。
Dinner 活動編號4 :該活動表示志愿者在吃晚飯的日常生活活動。
Laundry 活動編號5 :該活動表示志愿者在使用智能空間的洗衣機(jī)洗衣服。
圖1 智能家居環(huán)境的傳感器分布Fig. 1 Sensors distribution in smart home
Leave Home 活動編號6: 該活動表示志愿者離開家。
Lunch 活動編號7: 該活動表示志愿者正在吃午飯的日常生活活動。
Night wondering 活動編號8:該活動表示志愿者在夜里游蕩散步。
Take medicine 活動編號9:該活動表示志愿者在吃藥。
數(shù)據(jù)搜集了幾個周的時間,相關(guān)的特征值產(chǎn)生于注釋好的傳感器數(shù)據(jù),數(shù)據(jù)的形式如表1所示。對CASAS智能家居搜集到的數(shù)據(jù)我們用以下的特征來表示:
1)傳感器的邏輯編號 (Sensor ID)
活動觸發(fā)的傳感器的ID,不是使用原始的物理傳感器的編號,它們被映射到了標(biāo)號,標(biāo)號對應(yīng)傳感器安裝在房間里的位置。這個標(biāo)號由0到9的整數(shù)值來表示。這里使用傳感器ID的平均值來表示活動發(fā)生的中心位置。
2)時間 (Time of the day)
傳感器事件的開始時間以秒計(jì),這個特征值的取值是0到23的整數(shù)值,對應(yīng)一天24小時。當(dāng)活動發(fā)生在0點(diǎn)到1點(diǎn)之間為0,發(fā)生在1點(diǎn)到2點(diǎn)之間為1,發(fā)生在2點(diǎn)到3點(diǎn)之間為2,發(fā)生在3點(diǎn)到4點(diǎn)之間為3,對于表1的數(shù)據(jù),該活動的該特征值為11。
3)一周中的第幾天(The day of week)
這個特征代表了活動發(fā)生在星期幾。這個特征值的取值是0到6的整數(shù)。0表示星期一,1表示星期二,以此類推。
4)前一個活動(Previous of the activity)
這個是當(dāng)前活動發(fā)生的前一個活動。這個特征值的取值是0到9的整數(shù),對應(yīng)10個活動的編號,表示10個活動。
5)活動長度(Activity Length )
這個特征值表示當(dāng)前活動的長度,活動長度的長短用活動期間觸發(fā)的傳感器個數(shù)來衡量。這個特征值的取值0到14,共600個活動樣本,按觸發(fā)的傳感器個數(shù)由低到高的順序排列,分成15段,每40個活動為一段,排在前40的該特征值為0,41到80的該特征值為1,以此類推,根據(jù)分段數(shù)對實(shí)驗(yàn)結(jié)果的影響,可以改變分段的選擇。
6)活動持續(xù)時間(During time)
這個特征值表示活動的持續(xù)時間,這個特征值的取值是0到9,根據(jù)活動持續(xù)時間將樣本按從低到高的順序排列,將活動的持續(xù)時間分成10段,每60個活動為一段,前60個活動該特征值為0,第61到120的活動該特征值為1,以此類推,分段數(shù)也可以按實(shí)驗(yàn)結(jié)果的好壞進(jìn)行調(diào)整。
活動的識別問題其實(shí)是一個分類問題,注釋的10個活動類就是學(xué)習(xí)問題的目標(biāo)類。
表1 學(xué)習(xí)數(shù)據(jù)Tab.1 Data used for learning
人工神經(jīng)網(wǎng)絡(luò)的非線性映射能力非常強(qiáng), 它可以通過學(xué)習(xí)或訓(xùn)練后自動總結(jié)出數(shù)據(jù)間的函數(shù)關(guān)系而不需要任何先驗(yàn)公式, 因此是一種有效的建模手段。
徑向基神經(jīng)網(wǎng)絡(luò)RBFN是由Moody和Darken于20世紀(jì)80年代末提出的一種性能良好的前饋網(wǎng)絡(luò)。具有最佳函數(shù)逼近性能和全局最優(yōu)特性,廣泛地應(yīng)用于模式識別、分類、圖像處理、系統(tǒng)辨識、函數(shù)逼近和信號處理等方面。大部分基于反饋的多層前饋網(wǎng)絡(luò)的學(xué)習(xí)算法必須基于某種非線性優(yōu)化技術(shù)的缺點(diǎn),計(jì)算量大、學(xué)習(xí)速度慢,而RBF神經(jīng)網(wǎng)絡(luò)不僅具有良好的推廣能力,而且計(jì)算量少,學(xué)習(xí)速度一般也比其它算法快得多。RBF神經(jīng)網(wǎng)絡(luò)由三層組成, 包括輸入層、隱含層和輸出層。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)見圖2。輸入層將網(wǎng)絡(luò)與外界環(huán)境連接起來,隱含層的作用是從輸入空間到隱含層空間進(jìn)行非線性變換,通常具有較高的維數(shù)。輸出層則是在該新的空間中對基函數(shù)的中心進(jìn)行線性組合。
在RBF網(wǎng)絡(luò)結(jié)構(gòu)中,X=[x1, x2,…,xn]T∈Rn為網(wǎng)絡(luò)的n維輸入向量。設(shè)RBF網(wǎng)絡(luò)隱藏層的徑向基向量
H=[h1, h2,…,hm]T其中hj為高斯基函數(shù),即:
公式中,網(wǎng)絡(luò)第i個節(jié)點(diǎn)的中心向量為Ci=[ci1, ci2,…,cin]T,i=1,2,3,…,m,Ci為與X同維的中心向量。m為徑向基層神經(jīng)元數(shù)。
設(shè)網(wǎng)絡(luò)的基寬向量為B=[b1, b2,…,bn]T, bi為節(jié)點(diǎn)i的基寬參數(shù),且為大于零的數(shù)。RBF網(wǎng)絡(luò)輸入層到隱含層的權(quán)值為1.0;網(wǎng)絡(luò)隱含到輸出層權(quán)向量為
圖2 RBF神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)Fig. 2 RBF neural network structure
RBF神經(jīng)網(wǎng)絡(luò)的第n個節(jié)點(diǎn)的輸出為:
RBF網(wǎng)絡(luò)逼近的性能指標(biāo)函數(shù)為
根據(jù)梯度下降法,輸出權(quán)、節(jié)點(diǎn)基寬參數(shù)及節(jié)點(diǎn)中心矢量的迭代算法如下
式中,η為學(xué)習(xí)速率, α為動量因子η∈[0,1], α∈[0,1] 。
RBF神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的本質(zhì)是修改隱藏層到輸出層的權(quán)值,隱藏層節(jié)點(diǎn)的基寬參數(shù)和中心矢量使得誤差接近目標(biāo)值。
在本文中RBF神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn)數(shù)為6,分別對應(yīng)活動數(shù)據(jù)的6個特征值。將6個特征值歸一化后作為徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的輸入。輸出節(jié)點(diǎn)數(shù)為10,分別對應(yīng)10個活動。隱藏層節(jié)點(diǎn)數(shù)為20。為了簡化計(jì)算過程,學(xué)習(xí)速率和動量因子取相同的值, 取為0.9, 取為0.000 2。訓(xùn)練的樣本數(shù)據(jù)來自于CASAS智能公寓試驗(yàn)臺的55天,10個活動共600個實(shí)例和647 485個運(yùn)動傳感器事件。
文中使用了交叉驗(yàn)證的方法,即在給定的建模樣本中,拿出大部分樣本進(jìn)行建模型,留小部分樣本用剛建立的模型進(jìn)行預(yù)報(bào),并求這小部分樣本的預(yù)報(bào)誤差,記錄它們的平方加和。這個過程一直進(jìn)行,直到所有的樣本都被預(yù)報(bào)了一次而且僅被預(yù)報(bào)一次。把每個樣本的預(yù)報(bào)誤差平方加和,稱為PRESS(predicted Error Sum of Squares)。3折交叉驗(yàn)證,把訓(xùn)練數(shù)據(jù)平均分成3份,其中2份作為訓(xùn)練樣本,剩下1份作為測試樣本,直到每個活動樣本實(shí)例都作為測試樣本測試一次而且僅被測試一次。
實(shí)驗(yàn)結(jié)果如表格2中所示。總的樣本個數(shù)為600,其中RBF神經(jīng)網(wǎng)絡(luò)有522個活動實(shí)例判斷正確,78個樣本實(shí)例判斷錯誤,總的準(zhǔn)確率為0.870。其中活動0總共有30個樣本實(shí)例,活動1總共有48個樣本實(shí)例,活動2總共有207個樣本實(shí)例,活動3總共有46個樣本實(shí)例,活動4總共有42個樣本實(shí)例,活動5總共有10個樣本實(shí)例,活動6總共有69個樣本實(shí)例,活動7總共有37個樣本實(shí)例,活動8總共有67個樣本實(shí)例,活動9總共有44個樣本實(shí)例。結(jié)果表明徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的判別效果在8個活動上比隱含馬爾科夫模型要更好。RBF神經(jīng)網(wǎng)絡(luò)的在活動0,活動1,活動2,活動3,活動4,活動5,活動7,活動8上的識別率比隱含馬爾科夫模型要高。而只有在活動6上的活動的識別率RBF神經(jīng)網(wǎng)絡(luò)的識別率比隱含馬爾科夫模型低??梢钥闯龈[含馬爾科夫模型相比RBF神經(jīng)網(wǎng)絡(luò)能夠更有效的進(jìn)行活動的識別。
表2 實(shí)驗(yàn)結(jié)果比較Tab.2 Experimental results comparing
這篇文章中采用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)被用來進(jìn)行人類活動的識別,為了得到一個直觀的觀察,我們把它和隱含馬爾科夫模型的識別結(jié)果進(jìn)行比較。通過該實(shí)驗(yàn)結(jié)果,很容易看出選擇合適的參數(shù)和特征量,RBF神經(jīng)網(wǎng)絡(luò)的人類活動識別比隱含馬爾科夫模型的識別率要更好。
[1] CHEN Li-ming,Nugent C D,WANG Hui.A knowledge-driven approach to activity recognition in smart homes[J].IEEE Transactions On Knowledge and Data Engineering,June 2012,24(6):961-974.
[2] Cook D J,SONG Wen-zhan.Ambient intelligence and wearable computing:Sensors on the body,in the home, and beyond[J].Journal of Ambient Intelligence and Smart Environments,2009(1):1-4.
[3] Priyantha N,Chakraborty A,Balakrishnan H.The cricket location support system[C]//Proc.6th Ann. International Conference on Mobile Computing and Networking,2000:32-43 .
[4] Brezeale D,Cook D J,Automatic video classification:a survey of the literature[J].IEEE Transactions On Systems,Man,and Cybernetics—Part C: Applications and Reviews,2008,38(3):416-430.
[5] Intille S S,Designing a home of the future[J].IEEE Pervasive Computing,2002(1):80-86.
[6] Crandall A S,Cook D J,Coping with multiple residents in a smart environment[J]. Journal of Ambient Intelligence and Smart Environments, 2009(1):323-334.
[7] Cuntoor N P,Yegnanarayana B,Chellappa R.Activity modeling using event probability sequences[J].IEEE Trans.Image Proc,2008,17(4):594-607.
[8] ZHOU Feng,Jianxin (Roger) Jiao, CHENG Song-lin, et al.A case-driven ambient intelligence system for elderly in-home assistance applications[J].IEEE Transactions On Systems,Man,and Cybernetics—Part C:Applications and Reviews,2011,41(2):179-189.