摘 要: 闡述了體感設(shè)備Kinect及其關(guān)鍵技術(shù)在家庭智能監(jiān)控系統(tǒng)中的應用。利用Kinect設(shè)備,,可以將其人體骨骼跟蹤,、深度數(shù)據(jù)探測、臉部識別,、音頻采集和聲源定位,、紅外彩色攝像頭等功能整合到家庭智能監(jiān)控系統(tǒng)中,使家庭智能監(jiān)控系統(tǒng)更加有效,、精準,,在整體性能上比傳統(tǒng)的家庭智能監(jiān)控系統(tǒng)有明顯的提高。
關(guān)鍵詞: Kinect,;智能監(jiān)控,;骨骼追蹤;計算機視覺,;人臉識別
隨著當前科學技術(shù)的飛速發(fā)展,,很多監(jiān)控系統(tǒng)添加了比較先進的技術(shù)使得監(jiān)控系統(tǒng)變得越來越智能。目前,,很多家庭監(jiān)控系統(tǒng)都只具有對監(jiān)控對象的簡單行為分析,、視頻錄制和實時警報等比較傳統(tǒng)的功能,但是當鏡頭出現(xiàn)一個陌生人的時候,,監(jiān)控系統(tǒng)并不知道這個就要通過肉眼來監(jiān)控識別,。
基于Kinect的家庭智能監(jiān)控系統(tǒng)是利用當前比較熱門的體感設(shè)備Kinect來取代傳統(tǒng)的攝像頭,利用Kinect的先進功能對進入監(jiān)控區(qū)域的人進行骨骼跟蹤從而智能的判斷是否有人進入監(jiān)控區(qū),,還可以通過人臉識別對進入監(jiān)控區(qū)的人進行身份識別,,比以往傳統(tǒng)的監(jiān)控系統(tǒng)更加的實時主動,也更加的智能,。
本文從目前的家庭智能監(jiān)控系統(tǒng)所存在的問題著手,,系統(tǒng)地闡述了Kinect在家庭智能監(jiān)控系統(tǒng)中所能提供的服務,其中包括人體骨骼跟蹤,、人臉識別和深度數(shù)據(jù)探測等,,并通過家庭智能監(jiān)控系統(tǒng)中的Kinect的應用研究,進一步論證了Kinect在智能監(jiān)控中的價值以及對智能監(jiān)控發(fā)展創(chuàng)新的現(xiàn)實意義[1],。
1 Kinect設(shè)備的基本介紹及其先進性
Kinect是微軟公司研制的一款體感外設(shè),,它是一種3D體感攝影機。起初是針對游戲主機XBOX360推出的一套外設(shè)產(chǎn)品,,開始也僅僅適用在游戲領(lǐng)域,,利用即時動態(tài)捕捉、影像辨識,、麥克風輸入,、語音辨識等功能讓玩家擺脫傳統(tǒng)游戲手柄地束縛,以自己的身體作為遙控器在游戲中開車,、與其他玩家互動,、通過互聯(lián)網(wǎng)與其他XBOX玩家分享圖片和信息等。但是它高科技的含量和它本身的創(chuàng)意使得它逐漸應用于很多領(lǐng)域,,隨著Kinect for Windows的推出,,越來越多的人投入到Kinect的研究中。
Kinect共有3個攝像頭,,中間的鏡頭是RGB彩色攝像機,,主要用來對圖像進行捕捉,左右兩邊鏡頭分別為紅外線發(fā)射器和紅外線CMOS傳感器,,作用是使得設(shè)備能識別3D空間,。Kinect底部內(nèi)置的用于語音識別的多點陣列麥克風系統(tǒng)可以為聲音定位,而且還可以過濾背景噪聲,。此外,,Kinect還搭配了追焦技術(shù),底座馬達可編程控制,,會隨著對焦物體的移動而轉(zhuǎn)動從而能夠獲取最佳視角,。
2 Kinect在家庭智能監(jiān)控系統(tǒng)中的應用
在本家庭智能監(jiān)控系統(tǒng)中將利用Kinect的以下幾種關(guān)鍵特性。
2.1 骨骼追蹤
Kinect的骨骼追蹤技術(shù)是通過處理深度圖像來建立人體各個關(guān)節(jié)的坐標,,而Kinect的突出功能就是處理深度圖像,,它能夠通過骨骼追蹤技術(shù)來確定人體的各個部分以及他們的位置。深度圖像指從觀察視角看去,,圖像所包含信息與場景物體表面距離相關(guān)的一種圖像或一個圖像通道,。與彩色圖像相比,深度圖像能直接反映物體表面的三維特征,,且不受光照,、陰影和色度等因素的影響,圖1所示就是正常圖像與深度圖像的對比,。
Kinect通過用20個關(guān)節(jié)點來表示一個骨架,,如圖2所示。當一個人進入Kinect的視野范圍內(nèi)時,,Kinect就可以把他的20個關(guān)節(jié)點的位置找到,,位置是通過(x,,y,z)三維坐標來表示,,Kinect就是通過這些坐標來識別人所做的復雜動作,。x,y,,z是深度感應器實體的空間坐標軸,。坐標系滿足右手螺旋規(guī)則,Kinect處于原點位置,,y軸正向往上延伸,,x軸正向往左延伸,z軸則與Kinect攝像頭的方向相同,,這些坐標表述的空間被稱為骨架空間,,如圖3所示。
Kinect的兩個深度傳感器能夠提供捕捉人體骨骼的功能,,在目前最多能夠同時定位6個人的骨骼位置,,而且能最多同時獲取兩個人的骨骼追蹤數(shù)據(jù),站立模式可以跟蹤20個關(guān)節(jié)點,,坐姿模式可以跟蹤10個關(guān)節(jié)點,。
骨骼跟蹤有兩種跟蹤模式,即主動模式和被動模式,。在主動模式下,,需要調(diào)用相關(guān)幀讀取函數(shù)從而獲得目標的骨骼追蹤數(shù)據(jù);在被動模式下,,能夠支持額外4人的骨骼跟蹤,,但是只能提供這4人的位置信息,無法獲取詳細的骨骼數(shù)據(jù),。比如說,,如果Kinect視野范圍內(nèi)有6個人,Kinect能提供這6個人的具體位置,,但只能提供其中兩個人的關(guān)節(jié)點的數(shù)據(jù),,如圖4所示。
在本監(jiān)控系統(tǒng)中,,Kinect能夠同時跟蹤6個人,,并且能夠確定他們的位置,它能夠在上下方向移動從而擴展偵測視角范圍,,即使在夜間也可以偵查到是否有人在偵測視角范圍內(nèi),,就算人物出現(xiàn)身體遮擋、旋轉(zhuǎn)和臉部被遮擋等情況也一樣可以被辨別,。Kinect還可以識別人的動作,,如果被監(jiān)控的人有可疑動作,,將會實時報警,只是這種行為檢測的技術(shù),,在本監(jiān)控系統(tǒng)中只能很簡單地應用,,只能對一些特定的動作作出報警反應,在以后的功能擴展中可以在行為動作庫中添加更多的動作實例并且能夠有一定的動作行為預測功能,。
本監(jiān)控系統(tǒng)針對“不速之客”的來訪進行探測和警告,Kinect會被安置在門窗等主要入口,,所采用的算法是結(jié)合深度數(shù)據(jù)中的深度值數(shù)據(jù)和用戶索引位實現(xiàn)一個近距離探測器,。實現(xiàn)偽代碼如下。
//用于獲取目標物體的距離
Var depth=pixel>>DepthImageFrame.
PlayerIndexBitmaskWidth,;
//用于創(chuàng)建用戶索引編號
Var player=pixel>>&DepthImageFrame.PlayerIndexBitmask,;
//遍歷深度幀像素,判讀Kinect監(jiān)控區(qū)域內(nèi)是否出現(xiàn)
//“不速之客”
If(player>0 && Depth>DetectionMinThreshold
&& depth<DetectionMaxThrshold)
{
//存在用戶索引位數(shù)值不為0的像素,,有“不速之客”出現(xiàn)
isInRange=true,;
OnBodyDetection();
}
2.2 臉部識別
人臉識別是人的身份識別中最重要的一個組成部分,,本監(jiān)控系統(tǒng)就是通過人臉來進行身份識別的,,其利用Kinect的人臉識別和骨骼追蹤技術(shù),對進入Kinect監(jiān)控區(qū)域的人進行跟蹤識別他們的身份,,如果是陌生人,,系統(tǒng)會發(fā)出警告,引起相關(guān)人員的注意,。Kinect是伴隨著游戲而生的,,它能夠通過臉部識別不同的玩家,從而提供個性化的體驗,,后來Kinect的人臉識別技術(shù)被應用在諸多領(lǐng)域中,。人臉識別首先要判斷人臉是否存在,其次是基于人的臉部特征對輸入的人臉圖像或者視頻流進行進一步分析,,包括臉的位置,、大小和各個主要面部器官的位置信息,然后將這些面部特征信息進一步提取出來,,并將其與人臉數(shù)據(jù)庫進行對比,,從而識別目標的身份。
目前,,在體感游戲中,,Kinect的人臉識別采用了抽取人臉中層結(jié)構(gòu)特征的折中方式,但這種純二維的圖片識別算法只能提供85%的識別準確率,,由于Kinect攝像頭分辨率僅為640×480,,在距離Kinect 1.8 m以上距離的情況下,,攝像頭所能采集的面部像素數(shù)據(jù)十分有限,并不適用于高維計算,。而且,,由于環(huán)境光照、色溫和人臉表情的差異,,會給人臉識別增加困難,。
為了識別不同表情、不同光照條件下的人臉,,一種新的人臉識別方法被提出來,,這就是通過聯(lián)想推測模型來識別人臉。聯(lián)想推測模型的第一步是構(gòu)建一個“通用”的人臉數(shù)據(jù)庫,。面部器官被分解成幾個關(guān)鍵性的標志,,如眼睛中心、嘴角等12個面部特征,。這些信息作為識別引擎搜索到的人臉的基本“記憶”元素,。第二步是將特定對象的面部與28種不同的“記憶”圖像進行對比,也就是7種姿態(tài)乘以4種光照條件,。識別引擎將目標面部特征與人臉數(shù)據(jù)庫展開“關(guān)聯(lián)”,,通過一個或多個關(guān)鍵的面部特征進行匹配。最后系統(tǒng)使用這些信息來識別目標在不同條件下的人臉,。
Kinect與傳統(tǒng)的攝像頭最大的區(qū)別在于增加了深度傳感器,,在現(xiàn)有的監(jiān)控系統(tǒng)中,具備人臉識別功能的很少,,具備人臉識別功能的往往會遇到識別率不高,、效率低等問題,在基于Kinect的監(jiān)控系統(tǒng)中,,通過采用Kinect的景深攝像機和骨架識別,,可以大大提高人臉識別的效率。
人臉識別模塊需要實現(xiàn)的功能是將進入Kinect探測范圍內(nèi)的人臉識別出來,,并判斷是不是陌生人,。然而,從視頻流中實時識別出某個人的面部并非易事,。最為簡單的一種解決方案是首先檢測出當前畫面中所有人臉的位置,,然后對每張人臉進行匹配。但是這種方法完全采用針對圖像的人臉識別技術(shù),,在實時監(jiān)控中并不實用,。為了保證監(jiān)控系統(tǒng)中人臉識別的有效性,本文使用實時學習的跟蹤識別方法。在現(xiàn)有的實時學習-追蹤-識別算法中,,改進的TLD(Tracking Learning Detector)是一種效果比較好的跟蹤算法,。相比于其他跟蹤算法,TLD跟蹤算法最大的優(yōu)點在于它能夠通過對跟蹤目標不斷的學習來獲取目標最新的外觀特征,,從而及時完善跟蹤,,達到比較好的跟蹤效果。但即使是TLD算法,,也存在著不足之處,。在TLD算法中,所使用的知識主要來自于有時序關(guān)系的視頻幀序列,,這在一定程度上限制了其對空間信息的學習,。而Kinect的深度攝像頭恰好可以改善其不足之處,通過將Kinect捕捉到的深度數(shù)據(jù)傳遞給學習模塊和跟蹤器,,在一定程度上可以提高TLD算法的準確性和可用性。但是Kinect的深度傳感器返回的是比較粗糙的深度數(shù)據(jù),,這些數(shù)據(jù)只能反映物體的輪廓以及與整個物體的大概距離,,不能反映物體表面精確的信息。在TLD算法中,,學習和確認步驟是依靠物體表面的顏色特征來進行的,,并且需要對比物體之間細小的差異,所以只能在追蹤過程中使用深度信息來改進TLD算法,。
本監(jiān)控系統(tǒng)采用的追蹤算法是以角點作為追蹤特征的LK算法,,將深度信息作為全局追蹤的先驗知識。在對視頻圖像執(zhí)行追蹤算法前,,先對深度信息構(gòu)成的灰度圖進行簡單的邊緣提取,,再對這些邊緣信息進行追蹤,從而能夠?qū)Σ煌疃葏^(qū)域的位置變化進行粗略的估算,;然后再對視頻圖像進行追蹤,,將估算的信息與追蹤結(jié)果進行加權(quán),從而得到最終的追蹤結(jié)果,。
Kinect的部分功能已經(jīng)添加到家庭智能監(jiān)控系統(tǒng)中,,通過一個全新的設(shè)備來取代以往的傳統(tǒng)攝像頭,利用深度數(shù)據(jù)和骨骼追蹤進行目標探測,,通過人臉識別來識別目標身份,,目前在傳統(tǒng)監(jiān)控系統(tǒng)的基礎(chǔ)上只能實時地判斷是否有人進入監(jiān)控區(qū)域并識別身份,已經(jīng)取得了較好的效果,。Kinect是一個革命性的體感設(shè)備,,還有很多的功能可以擴展,如果能很好地將它應用在監(jiān)控系統(tǒng)中,將會帶來監(jiān)控系統(tǒng)的革命性變革,。
參考文獻
[1] 余濤.Kinect應用開發(fā)實踐[M].北京:機械工業(yè)出版社,,2012.
[2] 黃康泉,陳壁金,,鄭博,,等.Kinect在視頻會議系統(tǒng)中的應用[J].廣西大學學報:自然科學版,2011,,36(A01):308-313.
[3] 張荻.Kinect應用領(lǐng)域的探討[J].物流工程與管理,,2012,34(6):39-41.
[4] 李紅波,,丁林建,,冉光勇. 基于Kinect深度圖像的人體識別分析[J].數(shù)字通信,2012,,39(4):21-26.
[5] FABIAN J,, YOUNG T, PEYTON J J C,, et al. Integrating the Microsoft Kinect with Simulink: Real-time object tracking example[J]. IEEE/ASME Transactions on Mechatronics,, 2012,19(1):249-257.
[6] 張軍,,劉志鏡.基于模糊理論的行人異常動作檢測[J],,模式識別與人工智能,2010,,23(3):421-427.
[7] 葉劍華,,劉正光.多模態(tài)人臉識別融合方法比較研究[J].計算機工程與應用,2009,,45(19):153-156.
[8] 杜友田,,陳峰,徐文立,,等.基于視覺的人的運動識別綜述[J].電子學報,,2007,35(1):84-90.
[9] 許言午,,曹先彬,,喬紅.行人檢測系統(tǒng)研究新進展及關(guān)鍵技術(shù)展望[J].電子學報,2008,,36(5):368-376.
[10] ABHISHEK K. Skeletal tracking using Microsoft Kinect[J].Methodology,,2010:1-11.
[11] 梁路宏,艾海舟,,徐光祐,,等.人臉檢測研究綜述[J].計算機學報,2002,25(5):450-458.
[12] 周長劭,,史卓.基于景深圖像的身高測量系統(tǒng)設(shè)計[J].桂林電子科技大學學報,,2013(3):214-217.
[13] 江曉慶,肖德琴,,張波,,等.基于Kinect的農(nóng)作物長勢深度圖像實時獲取算法[J].廣東農(nóng)業(yè)科學,2012(23):195-199.