彭一鳴 王忠華
【摘 要】活動識別是指從一系列家居傳感器信號中自動識別人的日?;顒?,由于人類活動本質(zhì)的模糊性,大多數(shù)傳統(tǒng)模式識別方法不能表示活動的不確定性和復(fù)雜結(jié)構(gòu)關(guān)系。針對上述問題,提出基于概率描述邏輯的多層活動識別方法,從對數(shù)線性描述邏輯構(gòu)建的OWL2本體中的概率推理出當(dāng)前最可能執(zhí)行的活動,實驗結(jié)果驗證了論文方法的有效性。
【Abstract】Activity recognition refers to the automatic identification of human activities from a series of home sensor signals. Because of the fuzziness of human activities, most traditional pattern recognition methods can not represent the uncertainty and complex structure of activities. Aiming at above problems, a multi-layer activity recognition method based on probabilistic description logic is proposed. The most likely activity in current is deduced from the probability of OWL2 noumenon constructed by logarithmic linear description logic, and the experimental results validate the effectiveness of the proposed method.
【關(guān)鍵詞】活動識別;對數(shù)線性模型;描述邏輯;OW2本體
【Keywords】activity recognition; log-liner model; description logic; OWL2 ontology
【中圖分類號】TP11 【文獻(xiàn)標(biāo)志碼】A 【文章編號】1673-1069(2018)04-0152-04
1 引言
活動識別被廣泛應(yīng)用于眾多領(lǐng)域,這些領(lǐng)域包括醫(yī)療健康,老人摔倒和異常檢測、健康生活方式的跟蹤和改善、智能家居的上下文感知服務(wù)、機(jī)器人技術(shù)和安防和監(jiān)控等。活動識別方法主要可以分為三種,即數(shù)據(jù)驅(qū)動、知識驅(qū)動和混合活動識別方法。基于本體的方法在活動識別領(lǐng)域中的應(yīng)用越來越普遍,然而大多數(shù)基于描述邏輯的活動識別框架缺乏對概率知識的表示和推理。
為了彌補(bǔ)上述方法的不足,本文提出的方法將不確定性知識集成到一個統(tǒng)一的框架中,并考慮活動之間的不相容性,利用對數(shù)線性模型和描述邏輯的結(jié)合來推測出當(dāng)前最可能執(zhí)行的活動。
2 多層活動模型的表示
2.1 概率描述邏輯原理
描述邏輯[1](Description logic,DL)是一種知識表示形式,通過概念、關(guān)系和公理來支持特定應(yīng)用領(lǐng)域知識的邏輯表示,包括領(lǐng)域內(nèi)概念的定義和對象個體的描述。
對數(shù)線性描述邏輯[2](log-liner description logic)將描述邏輯集成到對數(shù)線性模型中,允許對描述邏輯加權(quán)公理的概率性和確定性依賴關(guān)系進(jìn)行建模,并支持OWL2網(wǎng)絡(luò)本體語言[3]。形式上,一個對數(shù)線性知識庫C=(CD,CU)是由一個確定性知識庫CBoxCD和一個不確定性知識庫CBox CD=(c,?棕c)組成,其中c表示一個公理,?棕c是分配到公理c的一個權(quán)重。
在規(guī)定的語法和語義下,最主要的推理任務(wù)是最大后驗概率(MAP)查詢,給定一個對數(shù)線性本體,推理出在同樣的概念和角色下最可能的一致的本體,在概率描述邏輯背景下,MAP查詢是至關(guān)重要的,因為它能夠從概率本體中推理出一個最可能的本體。ELOG推理機(jī)[4]通過將概率本體轉(zhuǎn)化為整數(shù)線性規(guī)劃(integer linear program,ILP),從而進(jìn)行MAP查詢。它迭代查詢一個推理機(jī)(例如Pellet)獲得不連貫或不一致的解釋,并將這些約束添加到整數(shù)線性規(guī)劃中。
2.2 多層活動的概念
復(fù)雜活動、簡單活動、操作手勢、原子事件和其他上下文概念被定義為活動本體的概念,下面是一系列本體活動模型主要概念的定義。
Person:表示一個執(zhí)行不同活動的居住者。
Arm:表示居住者的手臂,手臂分為左手臂和右手臂,一個人通過他的手臂與周圍環(huán)境進(jìn)行交互。
Function:表示一個人的手臂操作物體的方式。
Locomotion:表示肢體動作,例如躺、坐、站立。
Object:表示居住者在執(zhí)行一個活動中交互的物體,例如原子事件“移動瓶子”,交互的物體是“瓶子”。
EventType:表示原子事件,表示這些不能被分解為更簡單成分的原子活動,它們的持續(xù)時間非常短,為了簡化模型,可以把它們看作為瞬時事件。
Manipulative:表示操作手勢,由幾個簡單的原子事件組成。在某些情況下可以并發(fā)進(jìn)行。
SimpleActivity:表示簡單活動,由操作手勢和肢體動作組成的時間序列構(gòu)成,同樣的簡單活動可能由不同的操作手勢時間序列構(gòu)成。
ComplexActivity:表示復(fù)雜活動,由執(zhí)行的簡單活動組成。
2.3 多層活動模型的建立
多層活動本體模型是依據(jù)一個開源項目“Opportunity”提出的框架建立的。本體模型一共包含四層結(jié)構(gòu),從底層到高層依次是原子事件層、操作手勢層、簡單活動層和復(fù)雜活動層。
本體模型的核心類是Person,一個居住者通過他的手臂與周圍環(huán)境進(jìn)行交互,基于本體的類和屬性,表示活動概念的公理能夠迭代地通過更簡單的活動進(jìn)行定義,這些類和對象屬性如圖1所示,圖中的節(jié)點表示類,箭頭表示關(guān)聯(lián)類個體的對象屬性。一個原子事件的公理可表示為類Person通過屬性hasArm關(guān)聯(lián)到他的手臂類Arm,進(jìn)而通過屬性hasFunction和hasObject關(guān)聯(lián)到手臂操作物體的方式類Function和交互的物體類Object。
3 多層活動識別系統(tǒng)的設(shè)計
多層活動識別系統(tǒng)主要由兩部分組成,首先使用OWL2本體語言構(gòu)建多層活動本體,然后利用基于Java語言編寫的活動識別框架來解析本體。
3.1 多層活動本體
本文提出的概率本體支持?jǐn)?shù)據(jù)集[5]的活動識別場景,包括四個活動層級約150個日常生活動作和活動。只考慮個體S10生成的數(shù)據(jù)集構(gòu)建我們的概率本體,其他兩個人的數(shù)據(jù)用于評估我們的方法對活動識別的有效性。我們采用protégé OWL編輯器[6]構(gòu)建活動本體,公理權(quán)重已經(jīng)以注釋的形式手動添加到公理定義中,權(quán)重的估計值通過領(lǐng)域常識和S10個體產(chǎn)生的數(shù)據(jù)獲得。
3.2多層活動的識別方法
我們提出用以下技術(shù)從更簡單的活動中識別出更復(fù)雜活動,該方法不局限于順序活動的識別,也包括并發(fā)活動的識別。下面描述了操作手勢、簡單活動和復(fù)雜活動的識別步驟。
3.2.1識別操作手勢
第三層的操作手勢是基于原子事件和活動的語義推斷得出的,為了識別在一個時間窗口?子3內(nèi)執(zhí)行的操作手勢,我們執(zhí)行下面四個步驟:
①收集所有在?子3時段內(nèi)識別出的原子事件;
②使用本體論中的類和聲明來表示它們,并將它們添加到概率本體中;
③使用對象屬性將每一個原子事件和它的執(zhí)行者關(guān)聯(lián)起來;
④利用概率和標(biāo)準(zhǔn)的本體推理機(jī)推斷出最有可能執(zhí)行的操縱手勢。
3.2.2識別簡單活動
因為簡單的活動被定義為由若干操作手勢組成的時間序列,需要表示操作手勢的執(zhí)行先后關(guān)系。然而基于OWL2的描述邏輯本身并不支持時序推理,為了解決這個限制,根據(jù)操作手勢的時間序列進(jìn)行簡單的時序推理。為了識別所有在?子2時段內(nèi)執(zhí)行的簡單動作,我們按照如下步驟:
①收集所有在?子2時段內(nèi)推測出的操作手勢;
②利用本體的類和聲明表示各種操作手勢,并添加到概率本體中;
③利用對象屬性關(guān)聯(lián)每一個操作手勢和它的執(zhí)行者;
④更新收集到的操作手勢的執(zhí)行順序,使用上述描述的公理形式,并添加到概率本體列表;
⑤使用關(guān)于對數(shù)線性的ELOG推理機(jī)[4]從概率公理中計算最可能的一致性本體;
⑥在最可能的一致性本體上執(zhí)行標(biāo)準(zhǔn)的本體推理,得到在?子2時段內(nèi)的簡單活動。
3.2.3識別復(fù)雜活動
從簡單活動中識別出復(fù)雜活動的方法類似于操作手勢的識別,由于時間窗口?子1持續(xù)的時間較長,在時間窗口?子1內(nèi)可以執(zhí)行幾個簡單活動,這有助于區(qū)分各復(fù)雜活動和省略活動內(nèi)部的時序關(guān)系。
3.3 多層活動識別框架
本文提出的方法是基于Java編寫的系統(tǒng)OWL-API上實現(xiàn)的,如圖4中所描述的一樣,程序在一個滑動時間窗口中自動解析傳感器的觀測值,通過識別框架將更低層級活動作為輸入,迭代地輸出更高層級的活動。該程序收集的傳感器觀測數(shù)據(jù)包括執(zhí)行者的肢體動作、手臂動作和交互物體。當(dāng)運(yùn)行時間超過了操作手勢對應(yīng)的預(yù)定義時間窗口?子3時觸發(fā)推理過程。為了便于評估,依照傳感器輸入頻率的平均值,我們固定?子3分割的時間為1秒。
每個被識別出的原子事件都作為本體中對應(yīng)類的一個個體,用于未知的操縱手勢類的描述。新的公理被添加到對數(shù)線性本體后,通過ELOG推理機(jī)輸出最可能一致的本體。ELOG推理機(jī)通過將概率本體轉(zhuǎn)化為一個整數(shù)線性規(guī)劃來解決MAP查詢,它迭代查詢Pellet推理機(jī)來獲得關(guān)于不連貫或不一致的解釋,并將其作為ILP的約束,可以使用Gurobi解算機(jī)解決它們和重復(fù)這些操作,直到所有的不一致都得到解決。獲得的一致性本體再次作為輸入,通過Pellet推理機(jī)可以推斷出未知類的等價類。這些類表示在給定的時間窗口中預(yù)測的操作手勢。在下一個傳感器輸入時,采集的數(shù)據(jù)被刪除和收集推理過程又被再次觸發(fā)。類似地,為了識別下一個抽象層的活動,之前的預(yù)測類用于定義當(dāng)前簡單活動的未知類,保存當(dāng)前收集的操作手勢直到一個簡單活動被識別。從一個時間窗口到下一個時間窗口,它們的順序也進(jìn)行相應(yīng)地更新。構(gòu)成一個簡單活動的最長序列包括4個操縱手勢,我們固定?子2的間隔長度為4個?子3時間間隔,因此一個操縱手勢在它被識別前的最大序號為4,利用Pellet的解釋特性來獲取識別簡單活動的公理,并獲得它的持續(xù)時間。最后,在?子1中預(yù)測的簡單活動被用于產(chǎn)生未知的復(fù)雜活動類,復(fù)雜活動覆蓋較長時間,考慮到識別框架的實時性,我們限制?子3為30秒。識別過程遵循與識別操作手勢相同的步驟。
4實驗與評估
4.1 實驗數(shù)據(jù)集
我們使用從高度豐富的網(wǎng)絡(luò)傳感器環(huán)境中收集到的真實數(shù)據(jù)來評估我們的方法,數(shù)據(jù)集是一個歐盟研究項目“基于傳感器配置的活動和情景識別”的一部分。數(shù)據(jù)集通過觀察幾個住戶早晨的日?;顒荧@得,為了能夠評估我們的方法,我們對三個目標(biāo)個體S10、S11和S12在三個不同早晨執(zhí)行的日?;顒覣DL1、ADL2和ADL3的不確定性進(jìn)行注釋。
為了評估我們的方法,首先使用時間窗技術(shù),獲得每個時間窗口內(nèi)的真實活動集,然后把它與對應(yīng)時間窗口內(nèi)預(yù)測的活動集進(jìn)行比較。評估方法采用三個模式識別中常用的評價指標(biāo):精確度(precision)、反饋率(recall)和F測量(F-Measure),三者按如下公式計算:
對于每個輸出,正確預(yù)測的活動被視為是正確肯定(true positive,TP);如果時間窗口?子1中預(yù)測的活動A1,不匹配真實數(shù)據(jù)集在同一時間窗口內(nèi)的任何活動,則被視為錯誤肯定(false positive,F(xiàn)P);任意一時間窗口內(nèi),參考數(shù)據(jù)集的活動沒有在時間窗口內(nèi)被預(yù)測出,則被視為錯誤否定(false negative,F(xiàn)N)。
4.2 實驗結(jié)果和分析
表1描述了住戶S10、S11和S12三個早上的日?;顒訑?shù)據(jù)(ADL1、ADL2和ADL3)在每個層級活動上的平均識別結(jié)果。由于各個住戶之間的變化 相對較小,本文方法表現(xiàn)出很好的性能水平。
一般來說,單獨從各個層級活動識別結(jié)果來看,系統(tǒng)具有較高的精度。雖然對于操作手勢和復(fù)雜活動而言,反饋率的值是比較滿意的,但簡單活動的反饋率較低,遺漏了相當(dāng)數(shù)量的簡單活動,這主要有以下幾個原因,一方面操控手勢層的預(yù)測錯誤或遺漏很可能違反整個簡單活動的執(zhí)行順序,從而導(dǎo)致錯誤預(yù)測。另一方面,我們的本體模型時序表示過于簡單,不能捕獲定義一個簡單活動的所有操縱手勢序列。盡管簡單活動的反饋率較低,復(fù)雜活動有相對較高的F-測量值,這主要有兩方面原因,一方面復(fù)雜活動類的數(shù)量相比與其他層級數(shù)量較少,另一方面由于復(fù)雜活動的識別頻率相對較低,在一個時間窗口?子1能夠識別到足夠多的簡單活動,從而能在很大概率上正確地推理出復(fù)雜活動。
5 結(jié)語
本文提出了一種緊密耦合的混合系統(tǒng)來進(jìn)行人類活動的識別,提出的識別框架將符號邏輯和概率推理相結(jié)合,采用對數(shù)線性描述邏輯來表示和推理當(dāng)前活動,實驗結(jié)果驗證了本文方法處理多層活動識別的可行性。本文不同于大多數(shù)相關(guān)工作,它在不犧牲本體建模和推理的優(yōu)勢下,支持人類活動固有的不確定性,這些優(yōu)勢包括一致性檢測和集成豐富背景知識的能力,能同步識別復(fù)雜和簡單活動。標(biāo)準(zhǔn)描述形式的使用增強(qiáng)了系統(tǒng)的移植性和重用性,支持表示異構(gòu)和不確定的上下文數(shù)據(jù),能夠有效處理數(shù)據(jù)的不確定性。
【參考文獻(xiàn)】
【1】F Baader,D Calvanese,DL Mcguinness.The Description Logic Handbook:Theory,Imple- -mentation and Applications[J].Cambridge University Press ,2010(32):9-10.
【2】M Niepert,J Noessner,H Stuckenschmidt.Log-linear description logics[J].International Joint Conference on Artificial Intelligence,2011(12) :2153-2158.
【3】BC Grau,I Horrocks,B Motik.OWL 2:The next step for OWL[J].Web Semantics Science Services & Agents on the World Wide Web,2008,6(4):309-322.
【4】J Noessner,M Niepert.ELOG:A Probabilistic Reasoner for OWL EL[J].Springer Berlin Heidelberg,2011,69(02):281-286.
【5】P Lukowicz,G Pirkl,D Bannach,et al.Record- -ing a Complex,Multi Modal Activity Data Set for Context Recognition[J].International Con- -ference on Architecture of Computing Systems,2011(08):161-166.
【6】H Knublauch,RW Fergerson,NF Noy,et al.The protégé OWL Plugin:An Open Development Environment for Semantic Web Applications[J].Stanford School of Medicine,2006(07):151-162.