文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)03-0014-03
人體建模識別技術(shù)一直是信號與信息處理領(lǐng)域的研究熱點,在遠(yuǎn)程醫(yī)療,、模式識別,、安防監(jiān)控等各個方面都有著廣泛的應(yīng)用。但傳統(tǒng)的人體建模識別技術(shù)需要被測人體佩戴復(fù)雜的關(guān)節(jié)傳感器網(wǎng)絡(luò),,通過高清紅外攝像頭獲取人體運動節(jié)點信息,,從而實現(xiàn)目標(biāo)的三維建模。這種方法實施復(fù)雜,,且價格昂貴,。本文設(shè)計了一款新型的人體三維建模識別系統(tǒng),無需人體佩戴特殊的傳感器,,僅通過光學(xué)攝像頭陣列即可完成人體建模,,系統(tǒng)具有高速的視頻處理幀速率,可實現(xiàn)多人體運動目標(biāo)同時建模的功能,,具有廣泛的應(yīng)用前景,。
1 系統(tǒng)體系結(jié)構(gòu)
實時視頻處理算法涉及到復(fù)雜的數(shù)學(xué)計算,需要消耗大量的處理器資源,。為提高效率,,本系統(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)一的時序?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)紅外光線投射到三維物體表面時,,反射光譜會發(fā)生扭曲,,扭曲的差值數(shù)據(jù)會被深度感應(yīng)攝像頭讀取。
(2)深度感應(yīng)攝像頭:分析紅外光譜,,按深度重構(gòu)算法對2D平面圖像進(jìn)行處理,,進(jìn)而生成3D圖像的深度相對值坐標(biāo)。
(3)256色真色彩攝像頭:高速彩色攝像頭,,拍攝物體的實時彩色圖像,,供處理器獲取原始的流媒體彩色數(shù)據(jù)。
(4)平面建模攝像頭:數(shù)字濾波攝像頭,,負(fù)責(zé)拍攝物體的邊緣銳化效果圖像,,以獲取物體的邊緣輪廓數(shù)據(jù),使之作為3D建模的基礎(chǔ)數(shù)據(jù)之一,。
(5)熱感感應(yīng)攝像頭:負(fù)責(zé)拍攝物體的熱感輻射照片,,以獲取人體、動物等運動目標(biāo)數(shù)據(jù)并與環(huán)境背景相區(qū)分,,使之作為人體運動跟蹤算法的重要基礎(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 個功能單元可以并行操作,大大地提高了乘法速度,,非常適合于視頻,、圖像處理等領(lǐng)域的應(yīng)用[2-3],。在本產(chǎn)品中,共采用2片TMS320C64x+數(shù)字信號處理器,,負(fù)責(zé)對實時視頻圖像數(shù)據(jù)進(jìn)行編解碼計算,并完成復(fù)雜的人體三維建模算法,。
2.4 電源管理模塊
由ARM11處理器實現(xiàn)電源管理的控制功能,,實現(xiàn)包括低功耗模式、休眠模式,、電壓調(diào)節(jié)輸出,、電流檢測等電源管理功能。
3 算法移植及改進(jìn)
傳統(tǒng)上,,人體三維建模技術(shù)常見的算法主要有曲面建模算法[4],、基于物理特性的建模算法[5]、基于解剖學(xué)的分層建模算法[6]和多剛體動力學(xué)建模算法[7],。但這些算法并不能很好地滿足實時人體運動目標(biāo)的建模要求,。2011年,Microsoft公司免費公布了Kinect SDK開發(fā)包Beta版,,該版本針對計算機系統(tǒng)的Windows開源代碼數(shù)據(jù)包,,運用了新一代的動態(tài)骨骼追蹤算法。本文對KInect SDK開發(fā)包進(jìn)行了算法移植,,將其移植到DSP數(shù)字信號處理器,,使其可以脫離Windows系統(tǒng)在硬件上獨立運行,并進(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更改處理器運行模式,。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宏分別初始化每個使用的模塊,。(3)調(diào)用用戶主程序。在完成所有DSP/BIOS模塊的初始化后,,硬件中斷和軟件中斷均為使能,,此時應(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圖像互補算法,,最后可生成單幀人體三維建模圖像,,并將數(shù)據(jù)輸出給TMS320C64x+ DSP處理器2。
TMS320C64x+ DSP處理器2通過提取256色真色彩攝像頭的流媒體同步數(shù)據(jù)信息,,并運用3D視頻流重構(gòu)算法,,即可實現(xiàn)對單幀人體三維建模圖像的視頻流重構(gòu)計算,從而生成連續(xù)幀結(jié)構(gòu)的人體3D建模數(shù)據(jù)流,,最后運用視頻流媒體壓縮算法,,即可輸出完整流暢的人體三維建模結(jié)果。DSP雙處理器陣列算法流程如圖3所示,。
3.3 算法改進(jìn)
原Kinect SDK開源數(shù)據(jù)包只支持1~2個人體運動目標(biāo)的捕捉及建模功能,。本系統(tǒng)運用迭代算法,計算出第3個及第4個人體運動目標(biāo)的解析方程,,代入攝像頭陣列的采集參數(shù)后,,即可確定4個動態(tài)的人體運動目標(biāo)的坐標(biāo)參數(shù),從而完成4個人體運動目標(biāo)的三維建模,。按迭代算法計算,,系統(tǒng)理論上可實現(xiàn)12個人體運動學(xué)目標(biāo)的三維建模結(jié)果,目前已經(jīng)實現(xiàn)了1~4個人體運動目標(biāo)的實時追蹤及三維建模功能,。
4 實驗結(jié)果及性能分析
使用該系統(tǒng)分別對1個,、2個、3個,、4個人體運動學(xué)目標(biāo)進(jìn)行了實時三維人體建模實驗,。結(jié)果顯示,在單目標(biāo)識別時,,系統(tǒng)能夠在較快時間內(nèi)捕獲運動目標(biāo),,生成初始化建模參考原點,,并在2 s內(nèi)實現(xiàn)人體17節(jié)點的三維骨架建模,整體性能良好,。同時,,多人體運動目標(biāo)建模實驗也獲得了較好的性能,實測結(jié)果如圖4~圖7所示,。
本文提出的人體三維建模系統(tǒng)的實測性能如表1所示,。
經(jīng)測試,該人體三維建模系統(tǒng)可實現(xiàn)多人體運動目標(biāo)的實時追蹤及三維建模功能,,實測最大人體追蹤目標(biāo)數(shù)為4人,系統(tǒng)初始響應(yīng)時間低于2 s,,二次建模重建時間低于1 s,,系統(tǒng)整體上已達(dá)到了較好的性能。在單個人體目標(biāo)三維建模時,,系統(tǒng)的各項性能均達(dá)到最佳值,,隨著人體建模目標(biāo)個數(shù)的增加,系統(tǒng)的響應(yīng)時間及幀速率等指標(biāo)均有輕微的下降,,這表明隨著人體目標(biāo)個數(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].軍事通信技術(shù),,2012,33(2):89-92.