文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)03-0014-03
人體建模識別技術(shù)一直是信號與信息處理領(lǐng)域的研究熱點(diǎn),在遠(yuǎn)程醫(yī)療、模式識別、安防監(jiān)控等各個(gè)方面都有著廣泛的應(yīng)用。但傳統(tǒng)的人體建模識別技術(shù)需要被測人體佩戴復(fù)雜的關(guān)節(jié)傳感器網(wǎng)絡(luò),通過高清紅外攝像頭獲取人體運(yùn)動節(jié)點(diǎn)信息,從而實(shí)現(xiàn)目標(biāo)的三維建模。這種方法實(shí)施復(fù)雜,且價(jià)格昂貴。本文設(shè)計(jì)了一款新型的人體三維建模識別系統(tǒng),無需人體佩戴特殊的傳感器,僅通過光學(xué)攝像頭陣列即可完成人體建模,系統(tǒng)具有高速的視頻處理幀速率,可實(shí)現(xiàn)多人體運(yùn)動目標(biāo)同時(shí)建模的功能,具有廣泛的應(yīng)用前景。
1 系統(tǒng)體系結(jié)構(gòu)
實(shí)時(shí)視頻處理算法涉及到復(fù)雜的數(shù)學(xué)計(jì)算,需要消耗大量的處理器資源。為提高效率,本系統(tǒng)將控制器與數(shù)據(jù)處理器分開,由2片TI TMS320C64x+系列DSP處理器組成數(shù)據(jù)處理單元,由1片S3C6410 ARM1176JZF-S嵌入式處理器作為核心控制單元,以最大限度地提高DSP處理器的數(shù)字信號處理能力。ARM11處理器與DSP處理器之間通過高速同步SPI協(xié)議通信。
光學(xué)攝像頭陣列采集的視頻流數(shù)據(jù)由ARM11處理器按統(tǒng)一的時(shí)序?qū)嵤┛偩€控制,視頻流由高速數(shù)據(jù)總線輸送給DSP處理器系統(tǒng),DSP處理器系統(tǒng)負(fù)責(zé)對視頻流進(jìn)行編解碼操作并進(jìn)一步完成三維建模算法。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
2 系統(tǒng)各功能模塊
2.1 攝像頭采集陣列
攝像頭陣列由不同類型的攝像頭模塊組成光學(xué)采集系統(tǒng),具體介紹如下:
(1)紅外發(fā)射攝像頭:發(fā)射近紅外光譜,當(dāng)紅外光線投射到三維物體表面時(shí),反射光譜會發(fā)生扭曲,扭曲的差值數(shù)據(jù)會被深度感應(yīng)攝像頭讀取。
(2)深度感應(yīng)攝像頭:分析紅外光譜,按深度重構(gòu)算法對2D平面圖像進(jìn)行處理,進(jìn)而生成3D圖像的深度相對值坐標(biāo)。
(3)256色真色彩攝像頭:高速彩色攝像頭,拍攝物體的實(shí)時(shí)彩色圖像,供處理器獲取原始的流媒體彩色數(shù)據(jù)。
(4)平面建模攝像頭:數(shù)字濾波攝像頭,負(fù)責(zé)拍攝物體的邊緣銳化效果圖像,以獲取物體的邊緣輪廓數(shù)據(jù),使之作為3D建模的基礎(chǔ)數(shù)據(jù)之一。
(5)熱感感應(yīng)攝像頭:負(fù)責(zé)拍攝物體的熱感輻射照片,以獲取人體、動物等運(yùn)動目標(biāo)數(shù)據(jù)并與環(huán)境背景相區(qū)分,使之作為人體運(yùn)動跟蹤算法的重要基礎(chǔ)數(shù)據(jù)。
2.2 ARM11處理器系統(tǒng)(S3C6410)
使用三星S3C6410 ARM1176JZF-S處理器,最高主頻可達(dá)667 MHz,它由8級流水線組成,比以前的ARM內(nèi)核提高了至少40%的吞吐量[1]。在本產(chǎn)品中,ARM11處理器主要作為控制中樞系統(tǒng),負(fù)責(zé)完成攝像頭采集陣列的驅(qū)動和控制功能,以及對藍(lán)牙、USB接口、以太網(wǎng)、RS232等外設(shè)的驅(qū)動控制功能。
2.3 C64x+ DSP處理器系統(tǒng)
使用TI公司的高性能DSP處理器TMS320C64x+系列,該系列處理器中的 8 個(gè)功能單元可以并行操作,大大地提高了乘法速度,非常適合于視頻、圖像處理等領(lǐng)域的應(yīng)用[2-3]。在本產(chǎn)品中,共采用2片TMS320C64x+數(shù)字信號處理器,負(fù)責(zé)對實(shí)時(shí)視頻圖像數(shù)據(jù)進(jìn)行編解碼計(jì)算,并完成復(fù)雜的人體三維建模算法。
2.4 電源管理模塊
由ARM11處理器實(shí)現(xiàn)電源管理的控制功能,實(shí)現(xiàn)包括低功耗模式、休眠模式、電壓調(diào)節(jié)輸出、電流檢測等電源管理功能。
3 算法移植及改進(jìn)
傳統(tǒng)上,人體三維建模技術(shù)常見的算法主要有曲面建模算法[4]、基于物理特性的建模算法[5]、基于解剖學(xué)的分層建模算法[6]和多剛體動力學(xué)建模算法[7]。但這些算法并不能很好地滿足實(shí)時(shí)人體運(yùn)動目標(biāo)的建模要求。2011年,Microsoft公司免費(fèi)公布了Kinect SDK開發(fā)包Beta版,該版本針對計(jì)算機(jī)系統(tǒng)的Windows開源代碼數(shù)據(jù)包,運(yùn)用了新一代的動態(tài)骨骼追蹤算法。本文對KInect SDK開發(fā)包進(jìn)行了算法移植,將其移植到DSP數(shù)字信號處理器,使其可以脫離Windows系統(tǒng)在硬件上獨(dú)立運(yùn)行,并進(jìn)一步對算法進(jìn)行了改進(jìn),使人體追蹤目標(biāo)數(shù)由原來的1~2人提高到1~4人。
3.1 系統(tǒng)初始化
3.1.1 ARM11系統(tǒng)的初始化
上電復(fù)位后,ARM開始從起始空間執(zhí)行程序,存放在該地址處的指令為中斷向量表。該中斷向量表共有8條跳轉(zhuǎn)指令。系統(tǒng)最先執(zhí)行復(fù)位指令,該指令通過修改CPSR更改處理器運(yùn)行模式。CPSR設(shè)置完成后,ARM11系統(tǒng)將進(jìn)行CPU初始化,CPU初始化主要涉及關(guān)閉指令緩存(ICache)和數(shù)據(jù)緩存 (DCache)等過程。
3.1.2 TMS320C64+ DSP處理器系統(tǒng)初始化
為適應(yīng)算法移植的要求,使用DSP/BIOS來初始化DSP系統(tǒng)。DSP/BIOS是TI公司提供的一套初始化代碼接口,它以API和宏的形式封裝了TI公司的所有硬件模塊[8],其初始化過程如下:
(1)初始化DSP引導(dǎo)程序。DSP/BIOS程序從入口c_int00開始。復(fù)位后,復(fù)位中斷向量將程序指針自動引導(dǎo)到c_init00。(2)BIOS_init執(zhí)行基本的模塊初始化,然后調(diào)用MOD_init宏分別初始化每個(gè)使用的模塊。(3)調(diào)用用戶主程序。在完成所有DSP/BIOS模塊的初始化后,硬件中斷和軟件中斷均為使能,此時(shí)應(yīng)用程序可以添加代碼對各種外設(shè)進(jìn)行初始化。最后,調(diào)用BIOS_start啟動DSP/BIOS。DSP/BIOS系統(tǒng)啟動流程如圖2所示。
3.2 DSP人體建模算法流程
攝像頭采集陣列均由ARM11處理器統(tǒng)一總線控制,并通過數(shù)據(jù)總線將幀圖像數(shù)據(jù)傳遞給TMS320C64x+ DSP處理器1,由該處理器完成深度圖像處理算法、2D圖像重構(gòu)算法、2D圖像互補(bǔ)算法,最后可生成單幀人體三維建模圖像,并將數(shù)據(jù)輸出給TMS320C64x+ DSP處理器2。
TMS320C64x+ DSP處理器2通過提取256色真色彩攝像頭的流媒體同步數(shù)據(jù)信息,并運(yùn)用3D視頻流重構(gòu)算法,即可實(shí)現(xiàn)對單幀人體三維建模圖像的視頻流重構(gòu)計(jì)算,從而生成連續(xù)幀結(jié)構(gòu)的人體3D建模數(shù)據(jù)流,最后運(yùn)用視頻流媒體壓縮算法,即可輸出完整流暢的人體三維建模結(jié)果。DSP雙處理器陣列算法流程如圖3所示。
3.3 算法改進(jìn)
原Kinect SDK開源數(shù)據(jù)包只支持1~2個(gè)人體運(yùn)動目標(biāo)的捕捉及建模功能。本系統(tǒng)運(yùn)用迭代算法,計(jì)算出第3個(gè)及第4個(gè)人體運(yùn)動目標(biāo)的解析方程,代入攝像頭陣列的采集參數(shù)后,即可確定4個(gè)動態(tài)的人體運(yùn)動目標(biāo)的坐標(biāo)參數(shù),從而完成4個(gè)人體運(yùn)動目標(biāo)的三維建模。按迭代算法計(jì)算,系統(tǒng)理論上可實(shí)現(xiàn)12個(gè)人體運(yùn)動學(xué)目標(biāo)的三維建模結(jié)果,目前已經(jīng)實(shí)現(xiàn)了1~4個(gè)人體運(yùn)動目標(biāo)的實(shí)時(shí)追蹤及三維建模功能。
4 實(shí)驗(yàn)結(jié)果及性能分析
使用該系統(tǒng)分別對1個(gè)、2個(gè)、3個(gè)、4個(gè)人體運(yùn)動學(xué)目標(biāo)進(jìn)行了實(shí)時(shí)三維人體建模實(shí)驗(yàn)。結(jié)果顯示,在單目標(biāo)識別時(shí),系統(tǒng)能夠在較快時(shí)間內(nèi)捕獲運(yùn)動目標(biāo),生成初始化建模參考原點(diǎn),并在2 s內(nèi)實(shí)現(xiàn)人體17節(jié)點(diǎn)的三維骨架建模,整體性能良好。同時(shí),多人體運(yùn)動目標(biāo)建模實(shí)驗(yàn)也獲得了較好的性能,實(shí)測結(jié)果如圖4~圖7所示。
本文提出的人體三維建模系統(tǒng)的實(shí)測性能如表1所示。
經(jīng)測試,該人體三維建模系統(tǒng)可實(shí)現(xiàn)多人體運(yùn)動目標(biāo)的實(shí)時(shí)追蹤及三維建模功能,實(shí)測最大人體追蹤目標(biāo)數(shù)為4人,系統(tǒng)初始響應(yīng)時(shí)間低于2 s,二次建模重建時(shí)間低于1 s,系統(tǒng)整體上已達(dá)到了較好的性能。在單個(gè)人體目標(biāo)三維建模時(shí),系統(tǒng)的各項(xiàng)性能均達(dá)到最佳值,隨著人體建模目標(biāo)個(gè)數(shù)的增加,系統(tǒng)的響應(yīng)時(shí)間及幀速率等指標(biāo)均有輕微的下降,這表明隨著人體目標(biāo)個(gè)數(shù)的增加,DSP系統(tǒng)處理能力出現(xiàn)了輕微下降,在下一步的研究中需要對算法進(jìn)行優(yōu)化改進(jìn)。
參考文獻(xiàn)
[1] S3C6410X RISC microprocessor user′s manual,revision1.10[Z].Samsung Electronics Co.Ltd,2008.
[2] TMS320DM642 video/imaging fixed-point digital signal processor data manual[Z].Texas Instruments,2010.
[3] TMS320DM642 evaluation module with TVP video decoders technical reference[Z].Spectrum Digital,Inc.,2004.
[4] GHEORGHE P.Computing with membranes[J].Journal of Computer and System Sciences,2000,61(1):108-143.
[5] GHEORGHT P.P systems with active membranes:Attacking NP complete problems[J].Journal of Automata Languages and Combinatorics,2001,6(1):75-90.
[6] QI Zhengwei,You Jinyuan.Formalization of P systems by Maude[J].Journal of Shanghai Jiaotong University(Science),2005,10(3):260-264.
[7] HANAVAN E P.A Mathematical model of the human body[R].Biomechanics Laboratory,F(xiàn)aculty of Physical Education,University of Calgary,Canada,1984.
[8] 鄭翔,王賢菊,張寒,等.基于DSP/BIOS的VoIP語音通信終端設(shè)計(jì)[J].軍事通信技術(shù),2012,33(2):89-92.