專利名稱:一種基于軌跡序列分析和規(guī)則歸納的視頻行為識別方法
技術(shù)領(lǐng)域:
本發(fā)明屬于人工智能、計算機(jī)視覺、模式識別、機(jī)器學(xué)習(xí)技術(shù)領(lǐng)域,特別涉及視頻中行為識別方法。
背景技術(shù):
隨著計算機(jī)技術(shù)的飛速發(fā)展,新型的高性能中央處理器為計算機(jī)提供了強(qiáng)大運(yùn)算能力,大容量內(nèi)存和硬盤為計算機(jī)提供了超強(qiáng)的數(shù)據(jù)存儲、讀取能力。然而許多涉及人類感知活動的方面,例如視覺功能,聽覺功能,嗅覺功能,自然語言理解功能等,計算機(jī)還遠(yuǎn)遠(yuǎn)沒有接近人腦的水平。這一現(xiàn)狀無法滿足一些高級應(yīng)用的需求,例如我們希望計算機(jī)能夠進(jìn)行視覺監(jiān)控場景下人的行為分析,當(dāng)發(fā)生有人翻越圍欄、丟包、打架等異常行為后,可以自動進(jìn)行報警。為滿足這些高級應(yīng)用,許多涉及人工智能的相關(guān)研究如計算機(jī)視覺、計算機(jī)聽覺,計算機(jī)嗅覺、自然語言處理等研究領(lǐng)域應(yīng)運(yùn)而生。視頻中的行為理解是當(dāng)前計算機(jī)視覺領(lǐng)域中一個很活躍的研究主題,它旨在用計算機(jī)自動處理攝像頭捕捉到的視頻,檢測其中的感興趣運(yùn)動目標(biāo),跟蹤其運(yùn)動狀態(tài),識別其運(yùn)動行為。其研究成果在智能視覺監(jiān)控,高級人機(jī)交互,視頻信息壓縮等領(lǐng)域有廣闊的應(yīng)用前景。
在固定攝像頭的拍攝場景中,運(yùn)動物體的軌跡數(shù)據(jù)記錄了該物體從進(jìn)入攝像機(jī)視野到離開攝像機(jī)視野的位置信息,是隱含運(yùn)動物體語義行為最有用的信息之一。目前基于軌跡分析的行為理解方法主要利用軌跡聚類技術(shù)對單條軌跡的空間分布建模。所獲取的軌跡類可以被看作是運(yùn)動物體在場景中經(jīng)常經(jīng)過的路徑?;谶@些自動學(xué)習(xí)出的路徑,一些簡單的單物體行為,例如“車輛1沿路徑X經(jīng)過場景”可以被識別出來。然而這些軌跡聚類工作沒有考慮隱含在連續(xù)軌跡序列中的上下文信息,因此很多在更大時間尺度中的更為復(fù)雜的行為無法被識別,例如在交通路口的紅綠燈規(guī)則“紅燈停綠燈行”表示為多個車輛在一個紅綠燈周期內(nèi)不同車道的相繼通行過程,因此簡單的單個車輛軌跡聚類是無法獲取這樣復(fù)雜規(guī)則的。本發(fā)明通過對連續(xù)軌跡序列進(jìn)行分析,從中發(fā)現(xiàn)一些頻繁發(fā)生的運(yùn)動模式,并使用規(guī)則歸納算法得到一系列的事件規(guī)則。
目前對于更為復(fù)雜的行為識別,概率圖模型和規(guī)則推理是兩個被廣泛使用的主要方法,概率圖模型諸如隱馬爾科夫模型(HMM)、動態(tài)貝葉斯網(wǎng)(DBN)包括參數(shù)學(xué)習(xí)過程,可以很好的處理底層圖像處理所帶來的觀測噪聲,但隨著時間尺度的增大和事件復(fù)雜性的增加(運(yùn)動物體的個數(shù),隱含規(guī)則的復(fù)雜程度),圖模型的結(jié)構(gòu)學(xué)習(xí)會非常困難。并且概率圖模型的方法是一種黑箱子式的分類方法,即首先需要人為標(biāo)定訓(xùn)練樣本,之后進(jìn)行模型參數(shù)或結(jié)構(gòu)的訓(xùn)練,其訓(xùn)練得到的結(jié)構(gòu)及參數(shù)的語義含義不易被人理解,導(dǎo)致一些先驗知識不易嵌入模型之中來提高行為識別準(zhǔn)確率。與此相比,在基于規(guī)則推理的方法中,事件規(guī)則作為行為模型更易被人所理解并且可以很方便的嵌套先驗知識,因此基于規(guī)則推理的方法是讓計算機(jī)達(dá)到行為識別目的的另一個可行選擇。目前該方法所面臨的主要問題是事件規(guī)則無法自動獲取,在大部分基于規(guī)則推理的工作中,事件規(guī)則是由人為指定的,領(lǐng)域?qū)<倚枰獮橐粋€場景內(nèi)的所有可能的感興趣事件設(shè)定規(guī)則,人工耗費(fèi)很大。很難想象一個沒有自動學(xué)習(xí)能力,全部依靠手工輸入事件規(guī)則的系統(tǒng)能被稱為是智能的,因此本發(fā)明的出發(fā)點就是利用其他領(lǐng)域,如自然語言處理,已有的規(guī)則歸納算法,自動學(xué)習(xí)視頻中的事件規(guī)則,并利用這些規(guī)則對感興趣的事件進(jìn)行識別。
文法規(guī)則歸納在人工智能,自然語言處理研究領(lǐng)域被研究了多年,它旨在從訓(xùn)練句子中自動歸納出一系列的能有效代表訓(xùn)練數(shù)據(jù)的文法規(guī)則。本發(fā)明采用了一個通用文法規(guī)則歸納框架產(chǎn)生事件規(guī)則(文獻(xiàn)1 P.Grunwald.“A minimum description length approach to grammarinference”Connectionist,Statistical and Symbolic Approaches toLearning for NaturalLanguage Processing,volume 1004 of LectureNotes in AI,pp 203-16 Berl inSpringer Verlag,1996),同時為了提高規(guī)則學(xué)習(xí)的時間效率以及保障所學(xué)得到的規(guī)則有語義含義,頻繁約束條件和多層規(guī)則歸納策略被應(yīng)用在這個一般性框架之中。
基于所學(xué)習(xí)到的事件規(guī)則,行為識別過程可以被看作為一個文法分析過程,基于一個文法分析算法(文獻(xiàn)2 A.Stolcke,“An efficientprobabilistic context-free parsing algorithm that computes prefixprobabilities”,Computational Linguistics,v.21no.2,pp.165-201,June 1995),我們擴(kuò)展了其原有算法以適應(yīng)視頻中行為的特殊性。
發(fā)明內(nèi)容
現(xiàn)有的基于規(guī)則的行為識別系統(tǒng)需要專家為場景中每個感興趣行為制定其事件規(guī)則,因此在實際應(yīng)用中大大增加了人工耗費(fèi),就此問題,本發(fā)明的目的是在固定攝像機(jī)條件下,對檢測得到的運(yùn)動物體軌跡進(jìn)行分析,自動學(xué)習(xí)其中蘊(yùn)含的事件規(guī)則,并利用這些規(guī)則進(jìn)行行為識別,為此,本發(fā)明提供一種基于軌跡序列分析和規(guī)則歸納的視頻行為識別方法。
為了實現(xiàn)所述的目的,本發(fā)明基于軌跡序列分析和規(guī)則歸納的視頻行為識別方法的技術(shù)方案如下 軌跡分割步驟S1對有底層跟蹤算法得到的軌跡根據(jù)事先定義好的語義區(qū)域進(jìn)行分割,用于獲得有最基本語義含義的軌跡段; 軌跡聚類步驟S2在每一個語義區(qū)域中的軌跡段進(jìn)行聚類,用于得到最基本的運(yùn)動模式; 獲得原子事件序列步驟S3為屬于同一個基本運(yùn)動模式的軌跡段建立隱馬爾科夫模型,作為原子事件模型;之后針對原始軌跡序列的每一軌跡段,計算其符合原子事件模型的似然概率來判別事件類別,得到原子事件序列; 規(guī)則歸納步驟S4對獲得的原子事件序列,利用一個基于最小描述長度的多層規(guī)則歸算法以獲取帶有更高層語義含義的事件規(guī)則; 基于文法分析的行為識別步驟S5根據(jù)學(xué)習(xí)得到的事件規(guī)則,利用文法分析器識別給定原子事件序列中蘊(yùn)含的帶有更高層語義含義的事件類別。
根據(jù)本發(fā)明的實施例,其軌跡分割包括如下步驟 步驟S11在圖像場景中,設(shè)定幾個語義區(qū)域; 步驟S12每條軌跡被它所經(jīng)過的語義區(qū)域分割為若干子段,每段有一個最基本的語義含義,即沿某一運(yùn)動模式經(jīng)過某一區(qū)域。
根據(jù)本發(fā)明的實施例,其軌跡聚類包括如下步驟 步驟S21所有軌跡段經(jīng)重采樣后,得到長度相同的軌跡段; 步驟S22對獲得的長度相同的軌跡段集合,進(jìn)行主成份分析,得到軌跡段的主分量表示; 步驟S23計算兩兩軌跡段之間的歐式距離,得到該軌跡集合的相似性矩陣; 步驟S24根據(jù)該相似性矩陣,利用一個譜聚類算法將軌跡段集合分為若干子集。
根據(jù)本發(fā)明的實施例,其獲取原子事件序列包括如下步驟 步驟S31對聚類得到的每一類軌跡段,訓(xùn)練一個隱馬爾科夫模型,作為該原子事件的檢測模型; 步驟S32對于要識別的軌跡段,計算其符合各個隱馬爾科夫模型的似然概率,選擇似然概率最大的那個模型作為其分類結(jié)果; 步驟S33提取每個原子事件的時空屬性,根據(jù)事件結(jié)束時刻升序排列形成一個原子事件序列。
根據(jù)本發(fā)明的實施例,其多層規(guī)則歸納策略,包括初始化后,循環(huán)執(zhí)行如下步驟 步驟S41對當(dāng)前事件序列中出現(xiàn)的事件類別集,根據(jù)事件類別間的時空距離,利用聚類算法得到若干事件類別組; 步驟S42在所有事件類別組中,利用基于最小描述長度準(zhǔn)則的規(guī)則歸納算法,產(chǎn)生事件規(guī)則,將其加入當(dāng)前事件規(guī)則集;之后判斷若事件類別組的個數(shù)大于1,則執(zhí)行步驟S43,反之如果只有一個事件類別組,則跳出循環(huán),返回當(dāng)前規(guī)則集作為規(guī)則歸納結(jié)果; 步驟S43利用獲取得到的事件規(guī)則對原有事件序列進(jìn)行替換。
根據(jù)本發(fā)明的實施例,所述的多層規(guī)則歸納策略,基于最小描述長度的規(guī)則歸納算法,包括初始化后,循環(huán)執(zhí)行如下步驟 步驟S421根據(jù)當(dāng)前規(guī)則集和事件序列,產(chǎn)生候選規(guī)則集合。判斷若候選規(guī)則集合不為空或者循環(huán)次數(shù)沒有超過預(yù)設(shè)的閾值,則執(zhí)行步驟S422;反之,則跳出循環(huán),返回規(guī)則集; 步驟S422根據(jù)最小描述長度準(zhǔn)則,獲取可以最大限度壓縮當(dāng)前事件序列的事件規(guī)則,加入規(guī)則集; 步驟S423用當(dāng)前事件規(guī)則進(jìn)行實例替代,更新事件序列。
根據(jù)本發(fā)明的實施例,基于文法分析的行為識別包括初始化分析狀態(tài)集后,循環(huán)執(zhí)行如下步驟 步驟S51判斷將要掃描的原子事件是否超出了事件序列的總長度,若沒有超出,從當(dāng)前分析狀態(tài)集中找到與這原子事件相關(guān)的狀態(tài)進(jìn)行掃描操作,生成新的狀態(tài);反之,說明原子事件序列的所有事件均已被處理,跳出循環(huán),并在分析狀態(tài)集中檢查要識別的事件是否已經(jīng)存在; 步驟S52利用上一步驟中產(chǎn)生的新狀態(tài),在當(dāng)前分析狀態(tài)集中進(jìn)行完成操作,進(jìn)行時間關(guān)系推理; 步驟S53根據(jù)當(dāng)前狀態(tài)集,進(jìn)行預(yù)測操作,產(chǎn)生有可能和下一被掃描的原子事件相關(guān)的狀態(tài)。
本方法分為訓(xùn)練和識別兩個過程,所述訓(xùn)練過程包括 1.運(yùn)動物體的軌跡分割; 2.軌跡段聚類; 3.用隱馬爾科夫模型(HMM)建立原子事件模型; 4.基于最小描述長度(MDL)準(zhǔn)則的事件規(guī)則歸納; 所述的識別過程包括 1.對測試的軌跡序列分割; 2.軌跡段映射為原子事件; 3.所得事件串通過文法分析器識別是何種行為; 視頻中的行為理解在智能視覺監(jiān)控、高級人機(jī)交互等領(lǐng)域有廣闊的研究應(yīng)用價值?;谲壽E分析和規(guī)則歸納,本發(fā)明提供了一個完整的視頻行為理解框架首先,預(yù)處理階段將軌跡分割為若干有基本語義的基本軌跡段,這一步驟使沒有語義的軌跡信號轉(zhuǎn)化為一系列含有最基本語義含義的軌跡段。之后通過有效的軌跡特征提取和軌跡段聚類分析,軌跡段被分為若干基本運(yùn)動模式,這些模式被認(rèn)為是該場景中的各種原子事件類別,并用隱馬爾科夫模型(HMM)對其進(jìn)行建模以識別新來的軌跡段所屬的原子事件類別。這一步驟完成了從沒有確切語義的軌跡段信號向基本原子事件符號的轉(zhuǎn)化。最后,用一個基于最小描述長度準(zhǔn)則的規(guī)則歸納算法獲取蘊(yùn)含在軌跡序列中的事件規(guī)則,并在規(guī)則歸納過程中考慮到了視頻事件的空時屬性,采用一種多層的規(guī)則歸納策略,從而大大提高了規(guī)則學(xué)習(xí)的有效性,并對感興趣事件利用一個擴(kuò)展的文法分析器加以識別,這一步驟自動獲取了更高層事件的組成規(guī)則,可完成底層原子事件向高層更為復(fù)雜事件的轉(zhuǎn)化。
因此本發(fā)明解決了在固定攝像機(jī)場景中利用計算機(jī)自動學(xué)習(xí)頻繁發(fā)生的運(yùn)動事件規(guī)則,并對感興趣行為進(jìn)行自動識別的問題。該技術(shù)可用于基于規(guī)則的智能視覺監(jiān)控、高級人機(jī)交互等具體應(yīng)用,自動學(xué)習(xí)事件規(guī)則極大的節(jié)省了以往需要專家制定場景內(nèi)所有事件規(guī)則的人力耗費(fèi),從而能用計算機(jī)協(xié)助人、甚至代替人完成事件識別的任務(wù),在一定程度上推進(jìn)了模式識別理論在視頻信息處理中的應(yīng)用。
圖1是本發(fā)明行為識別方法的系統(tǒng)框圖; 圖2是本發(fā)明軌跡聚類及建立原子事件模型的流程圖; 圖3是本發(fā)明子事件之間時間關(guān)系的示意圖; 圖4是本發(fā)明一個事件規(guī)則實例的示意圖; 圖5是本發(fā)明中事件規(guī)則歸納的基本流程圖; 圖6是該發(fā)明中的多層規(guī)則歸納策略圖; 圖7是本發(fā)明復(fù)雜行為識別的文法分析流程圖; 圖8是本發(fā)明一個交通監(jiān)控場景中車輛通行狀態(tài)變換示意圖; 圖9是本發(fā)明一個交通監(jiān)控場景中軌跡分割的示意圖; 圖10是本發(fā)明一個交通監(jiān)控場景中軌跡聚類的結(jié)果示意圖; 圖11是本發(fā)明一個交通監(jiān)控場景中行為識別的示意圖;
具體實施例方式 下面結(jié)合附圖詳細(xì)說明本發(fā)明技術(shù)方案所涉及的各個細(xì)節(jié)問題。
圖1為本發(fā)明行為識別方法的系統(tǒng)框圖,包括訓(xùn)練和識別兩個部分; 識別過程包括軌跡分割單元S1、原子事件檢測器S32和文法分析器S5; 訓(xùn)練過程包括軌跡段聚類單元S2、原子事件建模單元S31和事件規(guī)則歸納單元S4; 原始軌跡數(shù)據(jù)0進(jìn)入軌跡分割單元S1生成原子軌跡段數(shù)據(jù)1,原子軌跡段數(shù)據(jù)1分別給入軌跡段聚類單元S2和原子事件檢測器S32; 原子事件檢測器S32接收原子軌跡段數(shù)據(jù)1生成原子事件序列數(shù)據(jù)4,原子事件序列數(shù)據(jù)4分別給入文法分析器S5和事件規(guī)則歸納單元S4; 文法分析器S5接收原子事件序列數(shù)據(jù)4生成事件識別結(jié)果6; 軌跡段聚類單元S2接收原子軌跡段數(shù)據(jù)1生成軌跡段類數(shù)據(jù)2; 原子事件建模單元S31接收軌跡段類數(shù)據(jù)2,并生成原子事件模型數(shù)據(jù)3給入原子事件檢測器S32; 事件規(guī)則歸納單元S4接收原子事件序列數(shù)據(jù)4生成事件規(guī)則數(shù)據(jù)5,事件規(guī)則數(shù)據(jù)5也給輸入文法分析器S5以分析輸入原子事件序列是否含有要識別的事件。
軌跡獲取與軌跡分割 我們利用一個視頻跟蹤算法(文獻(xiàn)[3]Tao Yang,Stan Z.Li,QuanPan and Jing Li,“Real Time Multiple Objects Tracking withOcclusion Handling in Dynamic Scenes”,In Proc.Conf.CVPR vol.1,pp.970-975,2005)獲取運(yùn)動物體的原始軌跡并保存其在數(shù)據(jù)庫中。根據(jù)軌跡表示,最基本的原子事件所能表示的語義含義是“物體從何處來到何處去”。因此我們?nèi)藶樵O(shè)定幾個語義區(qū)域。每條軌跡被它所經(jīng)過的語義區(qū)域分割為若干子段,每段有一個最基本的語義含義,即“運(yùn)動物體在區(qū)域a中沿路徑x從邊界1到邊界2”。以上的軌跡分割過程將沒有語義的軌跡信號轉(zhuǎn)化為一系列含有最基本語義含義的軌跡段。
軌跡段聚類與原子事件建模 軌跡分割后,每一語義區(qū)域內(nèi)的每一軌跡段都可以映射為一個原子事件,原子事件類別由該區(qū)域內(nèi)軌跡段聚類確定。軌跡段聚類與原子事件建模的流程圖如附圖2所示,在本發(fā)明中一種基于相似性度量的聚類算法被采用。軌跡段之間的距離由PCA+Euclidean距離計算,其計算過程如下首先把原始軌跡集合DO中長度不一的軌跡段重采樣為相同長度的軌跡段,得到軌跡集合D1。軌跡長度可為該軌跡集中所有軌跡長度的平均值。之后把軌跡段的y軸坐標(biāo)接在x軸坐標(biāo)之后,如此每條軌跡段被表示為一個長度為2*n(n為軌跡長度)的向量,接著利用主成分分析(PCA),一條軌跡被前N個(N<n)最有效的主特征分量D2表示。之后計算兩兩軌跡段間的歐式距離,建立一個距離矩陣即相似性矩陣D3?;谠摼嚯x矩陣,利用譜聚類算法(文獻(xiàn)4 M.Maila,J.Shi,“A Random Walks Viewof Spectral Segmentation”AI and STATISTICS(AISTATS’01),2001)得到若干軌跡段類C1、C2......Cn,此軌跡段的類經(jīng)隱馬模型的訓(xùn)練,得到n個原子事件模型M1、M2.......Mn。
場景中這些語義含義單一的運(yùn)動模式被認(rèn)為是該場景中最基本的原子事件,針對每一軌跡段類,我們訓(xùn)練一個隱馬爾科夫模型(HMM)。對新來的軌跡段通過計算其符合各個事件模型的似然概率,選擇似然概率最大的那個模型作為其分類結(jié)果。
經(jīng)過軌跡聚類并建立原子事件模型,我們可以將一條軌跡段轉(zhuǎn)化為一個原子事件。然而在以后的事件規(guī)則歸納中,僅一個表明事件類別的符號還不足以提供足夠多的信息。因此我們還計算了其他的一些信息用以表征事件,在此一個事件被表示成一個5元組{e_type,id,t_range,s_range,likelihood},其中“e_type”表示事件類別;“id”表示該事件的執(zhí)行者編號;用t位置和s位置表示該事件的時空屬性,“t_range”表示該事件在整個事件序列中的時間存在區(qū)間,即該事件發(fā)生的起始時刻和終止時刻(start_point,end_point);“s_range”表示該事件在圖像坐標(biāo)系下所占的空間位置信息,表示為在圖像坐標(biāo)的x軸,y軸,以及運(yùn)動方向軸上的存在區(qū)間{x_min,x_max),(y_min,y_max),(o_min,o_max};“l(fā)ikelihood”表示該事件符合事件模型的似然概率。由此,經(jīng)過軌跡向原子事件的轉(zhuǎn)變后,軌跡序列被表示為一個原子事件序列,根據(jù)各個原子事件的終止時刻end_point,原子事件被由小到大的排列起來??傊陨系能壽E段聚類與原子事件建模過程完成了從沒有確切語義的軌跡段信號向基本原子事件符號的轉(zhuǎn)化。
基于最小描述長度準(zhǔn)則的事件規(guī)則的歸納 事件規(guī)則由兩部分組成規(guī)則結(jié)構(gòu)和規(guī)則屬性。結(jié)構(gòu)表示是基于文法產(chǎn)生式。然而為了表示子事件之間更為復(fù)雜的時序關(guān)系,一個附加的時間關(guān)系矩陣被引入。因此一個長度為n的事件規(guī)則可表示為 E→s{R}[P] E表示為左側(cè)的非終結(jié)符,s為一個長度為n的符號串,其中的每一個符號表示一個事件。R代表時間關(guān)系矩陣,其中的元素r[i][j]表示第i個事件與第j個事件之間的時間關(guān)系,時間關(guān)系的定義如附圖3所示,其中A,B兩個事件的發(fā)生時間段分別由黑色實線及黑色虛線表示,A與B的時間關(guān)系依圖示會有七種,分別為“b”表示“A在B之前”,“m”表示“A與B相繼”,“o”表示“A與B交疊”,“e”表示“A與B同時”,“d”表示“A在B之間”,“s”表示“A于B開始”,“f”表示“A以B終止”;與之相反,B與A的時間關(guān)系可表示上述時間關(guān)系的逆關(guān)系。所以實際上兩個事件之間的時間關(guān)系共有十三種(“e”和它的逆是相同的)。P表示給定事件E后,該規(guī)則被選中的概率。如附圖4所示,圖上方表示了一個事件規(guī)則的表示示例,大體由兩部分組成,左側(cè)為規(guī)則的文法產(chǎn)生式,表明事件“P”由子事件“A”,“B”,“C”組成,其間的順序是依據(jù)三個事件的終止時刻由小到大排列。下方的坐標(biāo)系中的每條黑線代表了一個事件的發(fā)生,橫軸表明時間,縱軸表明事件,多條黑線就表示了事件序列。虛線框內(nèi)三個事件,由于其事件類別和時間關(guān)系符合上方規(guī)則的定義,這三個事件組合在一起就是該事件規(guī)則的一個實例。
除了規(guī)則結(jié)構(gòu)之外,兩個實數(shù)的屬性值被用于進(jìn)一步描述規(guī)則中出現(xiàn)的每一個事件
和
表示規(guī)則中每個事件實例時間長度的平均值,
表示規(guī)則實例的空間屬性的平均值。
定義了事件規(guī)則之后,一個基于最小描述長度準(zhǔn)則的規(guī)則歸納算法被用于進(jìn)行規(guī)則的提取。該算法可看作是一個優(yōu)化問題的求解過程,其思想是找到一系列的事件規(guī)則,使得這些事件規(guī)則被用于對原有事件序列進(jìn)行壓縮時的壓縮能力最強(qiáng)。該算法的基本流程如附圖5所示,該算法首先進(jìn)入初始化,設(shè)定返回的規(guī)則集合為空,之后進(jìn)入產(chǎn)生候選規(guī)則集合單元S421,在該單元中根據(jù)當(dāng)前的事件規(guī)則集和當(dāng)前被壓縮的事件序列,通過對各種事件類別的“建造”和“合并”操作得到新的候選規(guī)則集。若候選規(guī)則集不為空,則利用最小描述長度評估單元S422對候選規(guī)則集中的每一個事件規(guī)則進(jìn)行評估。在此利用每一規(guī)則對當(dāng)前的事件序列進(jìn)行壓縮,壓縮程度的衡量由描述長度表示,選擇壓縮能力最強(qiáng)的事件規(guī)則作為新產(chǎn)生的事件規(guī)則,其規(guī)則屬性
和
在進(jìn)行壓縮時經(jīng)過統(tǒng)計該規(guī)則在事件序列中的實例得到。之后進(jìn)入事件序列更新單元S423,完成新規(guī)則對其實例的替代,更新事件序列。之后進(jìn)入下一輪循環(huán),尋找下一個事件規(guī)則。當(dāng)不再產(chǎn)生任何事件規(guī)則,或者循環(huán)次數(shù)超過之前給定的閾值后,停止規(guī)則歸納過程,返回所學(xué)習(xí)得到的事件規(guī)則集在此,我們可以應(yīng)用集束搜索(beam search)以避免算法收斂于局部最優(yōu)。
以上所述為事件歸納的基本算法,在此,我們利用“建造”和“合并”兩個操作子產(chǎn)生候選規(guī)則。
“建造”操作可表示如下對兩個事件類別“A”和“B”,可生成新的候選規(guī)則P→AB,其中“A”與“B”之間的關(guān)系可以為八種可能的時間關(guān)系{b,m,o,s,d,f,e,i-f}(時間關(guān)系如附圖3所示,i-f關(guān)系表示f關(guān)系的逆關(guān)系)中的任何一種。
“合并”操作可表示如下對兩個事件類別“A”和“B”,可生成新的候選規(guī)則P→A|B,其中“A”與“B”之間的關(guān)系并不表示時間關(guān)系,而是邏輯關(guān)系“或”,表示A或者B的發(fā)生都表明了P發(fā)生。
然而只利用這個基本算法會產(chǎn)生太多的候選規(guī)則,從而加重以后的評估過程的工作量,并且有些沒有語義的但是確實可以壓縮事件序列的候選規(guī)則也有可能被選中成為新的事件規(guī)則,這些無關(guān)規(guī)則會干擾接下來的規(guī)則歸納過程。為了解決這些問題,并考慮到視頻事件的空時屬性,一個多層的規(guī)則歸納策略被提出,其思想來自于一個啟發(fā)式的規(guī)則人總是更愿意通過“建造”或者“合并”兩個相鄰比較近的物體形成一個更一般的概念。在這里兩個視頻事件的近鄰關(guān)系由其間的時空距離決定。首先定義兩個視頻事件的時空距離如下(在此處,事件不是指某一次事件發(fā)生的實例,而是事件類別) s-t_D(A,B)=α*s_D(A,B)+(1-α)*t_D(A,B) 這是一個空間距離s_D(A,B)和時間距離t_D(A,B)的加權(quán)和。權(quán)值α由經(jīng)驗決定。s_D(A,B)定義如下
其中
表示事件A的所有實例的s_range屬性(見上面原子事件的表示)的平均值,在此s_range被表示為一個立方體,三維分別是x軸,y軸和方向軸;
是立方體cubeA的體積;
為包含
和
最小立方體;該距離取值為0到2,且尺度無關(guān),這個性質(zhì)非常重要,因為隨著歸納過程的進(jìn)行,事件序列中的事件的平均時間空間尺度會越來越大。
t_D(A,B)被計算為兩個事件實例之間時間距離的平均值 其中nA是事件A的實例數(shù)目, 為事件ai的存在時間間隔,
表明時間間隔的長度,
為包含
和
的最小時間間隔。
基于這個時空距離,多層的事件規(guī)則歸納策略如附圖6所示的如下過程在初始化中設(shè)定規(guī)則集為空后,在單元S41中,為事件序列中頻繁發(fā)生的事件類別間兩兩計算時空距離,并利用簡單的聚類算法,如層級聚類算法得到若干事件類別組,這個過程稱之為“分割”過程;之后進(jìn)入處理單元S42,在每一事件類別組中進(jìn)行基于最小描述長度準(zhǔn)則的規(guī)則歸納算法,即同一個事件組中事件類別才可以被“建造(construct)”和“合并(merge)”,得到一系列的事件規(guī)則,將其加入當(dāng)前事件規(guī)則集;之后在單元S43中利用新學(xué)習(xí)到的規(guī)則對原有事件序列進(jìn)行實例替換得到新的事件序列,單元S42的操作稱之為“歸納”過程。此后在新的事件序列上,重復(fù)進(jìn)行如上操作,直到最后經(jīng)過“分割”后只有一個事件類別組,此時進(jìn)行最后一次規(guī)則歸納(單元S42)后跳出循環(huán),返回最終的事件規(guī)則集合。以上多層的規(guī)則歸納策略利用了視頻事件的時空屬性,能保證規(guī)則歸納算法得到更多的具有明確語義含義的事件規(guī)則,從而提高了規(guī)則學(xué)習(xí)的有效性。
除應(yīng)用多層規(guī)則歸納策略以保證產(chǎn)生規(guī)則的快速有效以外,一個頻繁模式挖掘算法也被應(yīng)用于尋找頻繁發(fā)生的候選規(guī)則,只有那些支持度(support)超過給定閾值的候選規(guī)則才被允許進(jìn)入下一步的評估過程。每個規(guī)則的支持度(support)同時用于計算各個規(guī)則的條件概率。假定有n個規(guī)則共享同一個最左側(cè)非終結(jié)符,那么第i個規(guī)則的條件概率計算如下 用最小描述長度準(zhǔn)則對一組規(guī)則候選進(jìn)行評估時,其目標(biāo)函數(shù)可由下式表示 L(G,S)=L(S/G)+L(G) 此處L(S/G)表示利用規(guī)則集G對原有事件序列5進(jìn)行壓縮后的事件序列的編碼長度,L(G)則代表對規(guī)則集G的編碼長度。優(yōu)化目標(biāo)是尋找一個合適的規(guī)則集G使L(S,G)最小。因此最主要的問題就是如何對事件序列進(jìn)行編碼以計算描述長度。從上述事件規(guī)則的定義中可知一個事件規(guī)則可以表示為一個符號串附加一個時間關(guān)系矩陣,同樣的我們也可以把事件序列也表示為一個符號串附加一個時間關(guān)系矩陣,此時的符號串的長度和矩陣的維數(shù)等于事件序列的長度。因此對事件序列的編碼可以分為以下兩個步驟 首先對符號串進(jìn)行編碼,假定當(dāng)前的符號串為e1e2...en,其中每個符號都來自集合{E1,E2,...Ec},并且ei=Ek為原始事件序列中子序列sub_S經(jīng)過被當(dāng)前規(guī)則集進(jìn)行壓縮替代后的結(jié)果。因此,對這個字符串進(jìn)行編碼的碼長計算如下 此處P(ei)=P(Ek)是事件序列中事件Ek正規(guī)化后的支持度(support);lik_ei為事件序列中第i個事件ei的似然概率。假設(shè)子串e′1e′2...e′m被規(guī)則E→E′1E′2...E′m替代為e,事件e的似然概率是在其剛剛產(chǎn)生時即被計算 此處P(E→E′1E′2...E′m)是規(guī)則的條件概率,e′j是事件E′j的實例。
對符號串進(jìn)行編碼后,下一步驟是對時間關(guān)系矩陣進(jìn)行編碼??紤]到時間關(guān)系矩陣是一個類反對稱矩陣,因此只需對上三角陣進(jìn)行編碼,其中每一個元素有8種可能的取值{before,meet,overlap,start,during,finish,equal,i-finish}。然而對于事件序列的時間關(guān)系矩陣而言,每一行元素的絕大多數(shù)取值都會為before。
因此對于矩陣第i行元素,給定其中七種時間關(guān)系的數(shù)量(除before關(guān)系)vj,j∈{1,2,...,7}后,有 種放置方式。
假設(shè)各種放置的概率相同,則為當(dāng)前第i行元素進(jìn)行編碼需要碼長為 之后還需對vj和i值進(jìn)行編碼,共需要(7logui+logN)位,其中ui=maxj{vj},N為事件序列的長度。因此對時間關(guān)系矩陣進(jìn)行編碼所需的總碼長為 最終給定當(dāng)前規(guī)則集G后,我們需要L(S|G)=Sbits+Rbits位為時間序列進(jìn)行編碼。相似的編碼策略也可以用于為每一條規(guī)則進(jìn)行編碼。最后,L(G)為每條規(guī)則碼長的總和。
基于文法分析的事件識別 通過以上過程,本發(fā)明通過規(guī)則歸納自動學(xué)習(xí)得到一個場景中的頻繁發(fā)生的事件規(guī)則,極大的節(jié)省了以往需要專家制定場景內(nèi)所有事件規(guī)則的人力耗費(fèi),。接下來在正確學(xué)習(xí)的事件規(guī)則中,對于使用者感興趣的事件,我們利用文法分析方法自動識別其是否發(fā)生在給定的一段視頻之中。
首先,利用跟蹤技術(shù)自動獲取視頻中感興趣運(yùn)動物體的軌跡,并根據(jù)語義區(qū)域?qū)壽E段進(jìn)行分割,利用學(xué)習(xí)過程中所學(xué)到的HMM原子事件模型,識別軌跡序列中的原子事件形成事件序列。以上過程和學(xué)習(xí)過程中軌跡信號到事件符號的轉(zhuǎn)換過程一致。
文法分析器被用來識別符號串中蘊(yùn)含的更復(fù)雜的行為。在此我們基于原有的Earley-Stolcke分析器,將時序推理模塊加入其中,從而可以識別子事件之間更為復(fù)雜的時序關(guān)系。整個文法分析流程如附圖7所示,在初始化單元1進(jìn)行初始分析狀態(tài)的設(shè)定,之后文法分析主要分為三個模塊的循環(huán)執(zhí)行掃描單元S51,完成單元S52和預(yù)測單元S53。掃描單元S51的任務(wù)是觀測當(dāng)前的原子事件,并在分析狀態(tài)集中尋找和當(dāng)前原子事件直接相關(guān)的狀態(tài)進(jìn)行掃描操作,并改變其狀態(tài),此過程中加入了時間關(guān)系推理。之后的完成單元S52的任務(wù)是尋找和當(dāng)前原子事件間接相關(guān)的其它狀態(tài),完成狀態(tài)和狀態(tài)間的推理,在此過程中同樣需要加入了時間關(guān)系推理。最后預(yù)測單元S53根據(jù)當(dāng)前的各個狀態(tài),預(yù)測下一個可能會被掃描到的原子事件。此三個模塊循環(huán)執(zhí)行,直到事件序列中的所有事件均被處理。最后在分析狀態(tài)集中檢查事件是否發(fā)生,若事件被識別,可以通過在以往狀態(tài)集中的回溯以便得到該事件的構(gòu)成結(jié)構(gòu)。
實施例 以上介紹了該行為理解方法的整個學(xué)習(xí)和識別過程。下面結(jié)合一個具體實例說明本發(fā)明的具體實施過程與效果。在附圖8所示的交通場景中,我們記錄了一段長度為90分鐘的交通視頻,其中包括了45個紅綠燈變換周期,我們希望能通過對車輛軌跡流的自動分析,學(xué)習(xí)得到正常軌跡流中由紅綠燈規(guī)則所控制的車輛通行變換模式。該通行模式由附圖8所示,三張圖中帶箭頭的黑色線表示了丁字路口的三種通行狀態(tài),分別為“輔路向主路的左轉(zhuǎn)彎通行狀態(tài)”,“主路向輔路的左轉(zhuǎn)彎通行狀態(tài)”以及“主路通行狀態(tài)”,圖之間的透明的大箭頭標(biāo)明了三種狀態(tài)之間的前后承啟關(guān)系。
利用已有的底層跟蹤系統(tǒng),視頻中的車輛軌跡被獲取得到,每條軌跡在視頻中的時間信息也被保存下來。首先選擇一部分軌跡經(jīng)過軌跡分割,一個原始軌跡的分割過程如附圖9所示,圖中黑色線代表一條軌跡,箭頭表示運(yùn)動方向,圖中的兩條虛線代表了這個交通路口兩條人行橫道,整個路口也被分為三個語義區(qū)域1、2和3,之后通過軌跡段聚類,15個主要的軌跡模式被得到。一些軌跡類的示意如附圖10所示,圖中所示,綠色線表示軌跡類中所有的軌跡,紅色箭頭線表示軌跡的方向。這些基本的軌跡類均可看作是車輛沿某一車道在該場景中各個語義區(qū)域的通行行為。圖中v1代表車輛沿主路左側(cè)最內(nèi)側(cè)車道經(jīng)過區(qū)域1,v3代表車輛沿主路右側(cè)中間車道經(jīng)過區(qū)域1,v7代表車輛從輔路左轉(zhuǎn)向通過區(qū)域2,v5表示車輛從主路右側(cè)左轉(zhuǎn)向經(jīng)過區(qū)域3。和這四個軌跡類相似,其他的軌跡類都可以看做是車輛在該交通路口的基本通過模式。
之后通過對這些軌跡類訓(xùn)練HMM,分別建立原子事件模型。對所有車輛進(jìn)行原子事件檢測和異常軌跡及噪聲去除(不屬于任何主要軌跡模式的軌跡為異常軌跡)之后,得到的原子事件序列被用于學(xué)習(xí)交通事件規(guī)則,一些學(xué)習(xí)得到的規(guī)則如下附表所示
其中小寫字母v1至v15表示15個原子事件??煽闯霾粌H單個車輛在場景中通行的主要模式被正確的表示,而且一些遞歸規(guī)則也學(xué)習(xí)得到,用以描述在綠燈期間連續(xù)通行的事件。例如組成事件“A”的一個規(guī)則,A->v11 v3,表示A事件可由v11和v3組成,其中v11和v3之間的時間關(guān)系為“m”,表示v3與v11是相繼關(guān)系當(dāng)已知A發(fā)生的條件下,這條規(guī)則被應(yīng)用的條件概率為0.482.通過查看原子事件v11和v3的語義含義,我們可以知道這條規(guī)則實際上代表了一輛車從主路右側(cè)中間車道通過該丁字路口的行為。規(guī)則A->A A則表示A還可以由多個A嵌套組成,此時A與A之間的時間關(guān)系為“b”,表明第二個A應(yīng)發(fā)生在第一個A之后。其條件概率為0.002。這條規(guī)則表示了主路右側(cè)車道車輛連續(xù)穿行的行為。以此類推,其他事件B,C,D,E分別表示了在該丁字路口各種車輛通行行為。
然而由于輔路到主路的右轉(zhuǎn)彎軌跡的頻繁出現(xiàn)使得整個場景的紅綠燈通行規(guī)則沒有被正確表示。而此軌跡和紅綠燈規(guī)則沒有任何關(guān)系,應(yīng)該算作噪聲,但目前的技術(shù)還無法自動從軌跡流中將其去除。因此我們?nèi)藶榈膹氖录蛄兄袑⑵淙コ?,之后紅綠燈規(guī)則被正確學(xué)習(xí)表示。附圖11中“*”在前面的規(guī)則就是人為去除“輔路到主路右轉(zhuǎn)彎通行”軌跡后,通過規(guī)則學(xué)習(xí)得到的有關(guān)整個場景的交通規(guī)則。
事件識別的一個實例示意如附圖11所示,要識別的事件是在該丁字路口的一個交通周期內(nèi)車輛交替通過事件。此圖上面部分表明了在此周期內(nèi)主要的五種子事件在時間上的存在情況,縱軸表示各種事件,橫軸表示時間,黑色的粗線表明在這段時間內(nèi)某種事件正在發(fā)生。符號含義見附圖11所示。“C”事件和規(guī)則無關(guān),然而并不影響事件的識別。下面的圖表示文法分析器對如上圖所示輸入事件序列的分析結(jié)果,圖中的事件B和事件D分別標(biāo)明主路向輔路左轉(zhuǎn)彎,和輔路向主路左轉(zhuǎn)彎事件,“B”與“D”之間的“b”表明他們之間的時間關(guān)系為“B”在“D”之前發(fā)生,根據(jù)附圖11內(nèi)的規(guī)則,“B”“D”組合在一起成為事件“H”。而事件E與事件A分別表示“左側(cè)主路通行”和“右側(cè)主路通行”,這兩者的同時發(fā)生激發(fā)了“主路通行”事件“F”。最后,“H”與“F”最終組成了事件“I”,即在一個周期內(nèi)丁字路口的車輛正常通行。
上面描述是用于實現(xiàn)本發(fā)明的實施例,本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的范圍的任何修改或局部替換,均屬于本發(fā)明權(quán)利要求來限定的范圍。
權(quán)利要求
1.一種基于軌跡序列分析和規(guī)則歸納的視頻行為識別方法,其特征在于
軌跡分割步驟S1對有底層跟蹤算法得到的軌跡根據(jù)事先定義好的語義區(qū)域進(jìn)行分割,用于獲得有最基本語義含義的軌跡段;
軌跡聚類步驟S2在每一個語義區(qū)域中的軌跡段進(jìn)行聚類,用于得到最基本的運(yùn)動模式;
獲得原子事件序列步驟S3為屬于同一個基本運(yùn)動模式的軌跡段建立隱馬爾科夫模型,作為原子事件模型;之后針對原始軌跡序列的每一軌跡段,計算其符合原子事件模型的似然概率來判別事件類別,得到原子事件序列;
規(guī)則歸納步驟S4對獲得的原子事件序列,利用一個基于最小描述長度的多層規(guī)則歸算法以獲取帶有更高層語義含義的事件規(guī)則;
基于文法分析的行為識別步驟S5根據(jù)學(xué)習(xí)得到的事件規(guī)則,利用文法分析器識別給定原子事件序列中蘊(yùn)含的帶有更高層語義含義的事件類別。
2.根據(jù)權(quán)利要求1所述的行為識別方法,其特征在于,其軌跡分割包括如下步驟
步驟S11在圖像場景中,設(shè)定幾個語義區(qū)域;
步驟S12每條軌跡被它所經(jīng)過的語義區(qū)域分割為若干子段,每段有一個最基本的語義含義,即沿某一運(yùn)動模式經(jīng)過某一區(qū)域。
3.根據(jù)權(quán)利要求1所述的行為識別方法,其特征在于,其軌跡聚類包括如下步驟
步驟S21所有軌跡段經(jīng)重采樣后,得到長度相同的軌跡段;
步驟S22對獲得的長度相同的軌跡段集合,進(jìn)行主成份分析,得到軌跡段的主分量表示;
步驟S23計算兩兩軌跡段之間的歐式距離,得到該軌跡集合的相似性矩陣;
步驟S24根據(jù)該相似性矩陣,利用一個譜聚類算法將軌跡段集合分為若干軌跡段類。
4.根據(jù)權(quán)利要求1所述的行為識別方法,其特征在于,其獲取原子事件序列包括如下步驟
步驟S31對聚類得到的每一類軌跡段,訓(xùn)練一個隱馬爾科夫模型,作為該原子事件的檢測模型;
步驟S32對于要識別的軌跡段,計算其符合各個隱馬爾科夫模型的似然概率,選擇似然概率最大的那個模型作為其分類結(jié)果;
步驟S33提取每個原子事件的時空屬性,根據(jù)事件結(jié)束時刻升序排列形成一個原子事件序列。
5.根據(jù)權(quán)利要求1所述的行為識別方法,其特征在于,其多層規(guī)則歸納策略,包括初始化后,循環(huán)執(zhí)行如下步驟
步驟S41對當(dāng)前事件序列中出現(xiàn)的事件類別集,根據(jù)事件類別間的時空距離,利用聚類算法得到若干事件類別組;
步驟S42在所有事件類別組中,利用基于最小描述長度準(zhǔn)則的規(guī)則歸納算法,產(chǎn)生事件規(guī)則,將其加入當(dāng)前事件規(guī)則集;之后判斷若事件類別組的個數(shù)大于1,則執(zhí)行步驟S43,反之如果只有一個事件類別組,則跳出循環(huán),返回當(dāng)前規(guī)則集作為規(guī)則歸納結(jié)果;
步驟S43利用獲取得到的事件規(guī)則對原有事件序列進(jìn)行替換。
6.根據(jù)權(quán)利要求5所述的行為識別方法,其特征在于,所述的多層規(guī)則歸納策略,基于最小描述長度準(zhǔn)則的規(guī)則歸納算法,包括初始化后,循環(huán)執(zhí)行如下步驟
步驟S421根據(jù)當(dāng)前規(guī)則集和事件序列,產(chǎn)生候選規(guī)則集合;判斷若候選規(guī)則集合不為空或者循環(huán)次數(shù)沒有超過預(yù)設(shè)的閾值,則執(zhí)行步驟S422;反之,則跳出循環(huán),返回規(guī)則集;
步驟S422根據(jù)最小描述長度準(zhǔn)則,獲取可以最大限度壓縮當(dāng)前事件序列的事件規(guī)則,加入規(guī)則集;
步驟S423用當(dāng)前事件規(guī)則進(jìn)行實例替代,更新事件序列。
7.根據(jù)權(quán)利要求1所述的行為識別方法,其特征在于,基于文法分析的行為識別包括初始化分析狀態(tài)集后,循環(huán)執(zhí)行如下步驟
步驟S51判斷將要掃描的原子事件是否超出了事件序列的總長度,若沒有超出,從當(dāng)前分析狀態(tài)集中找到與這原子事件相關(guān)的狀態(tài)進(jìn)行掃描操作,生成新的狀態(tài);反之,跳出循環(huán),并在分析狀態(tài)集中檢查要識別的事件是否已經(jīng)存在;
步驟S52利用上一步驟中產(chǎn)生的新狀態(tài),在當(dāng)前分析狀態(tài)集中進(jìn)行完成操作,進(jìn)行時間關(guān)系推理;
步驟S53根據(jù)當(dāng)前狀態(tài)集,進(jìn)行預(yù)測操作,產(chǎn)生有可能和下一被掃描的原子事件相關(guān)的狀態(tài)。
全文摘要
本發(fā)明公開一種基于軌跡序列分析和規(guī)則歸納的視頻行為識別方法,解決人工耗費(fèi)大的問題,采用將場景中的完整軌跡分割為若干有基本語義的軌跡段,通過軌跡聚類得到若干基本運(yùn)動模式為原子事件,并用隱馬爾科夫模型建模,通過基于最小描述長度準(zhǔn)則的規(guī)則歸納算法,獲取蘊(yùn)含在軌跡序列中的事件規(guī)則,基于事件規(guī)則,用擴(kuò)展的文法分析器對感興趣事件加以識別。本發(fā)明提供完整的視頻行為識別框架,在規(guī)則歸納過程中考慮視頻事件的空時屬性,提出了一種多層規(guī)則歸納策略,大大提高了規(guī)則學(xué)習(xí)的有效性,推進(jìn)模式識別在視頻行為識別的應(yīng)用。本發(fā)明應(yīng)用于智能視頻監(jiān)控,自動分析當(dāng)前監(jiān)控場景下汽車或行人的運(yùn)動行為,使計算機(jī)協(xié)助人或代替人完成監(jiān)控任務(wù)。
文檔編號G06K9/62GK101334845SQ20071011799
公開日2008年12月31日 申請日期2007年6月27日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者譚鐵牛, 黃凱奇, 彰 張, 王亮生 申請人:中國科學(xué)院自動化研究所