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