文獻(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.