摄像头阵列由不同类型的摄像头模块组成光学采集系统,具体介绍如下:(1)红外发射摄像头:发射近红外光谱,当红外光线投射到三维物体表面时,反射光谱会发生扭曲,扭曲的差值数据会被深度感应摄像头读取。(2)深度感应摄像头:分析红外光谱,按深度重构算法对2D平面图像进行处理,进而生成3D图像的深度相对值坐标。(3)256色真色彩摄像头:高速彩色摄像头,拍摄物体的实时彩色图像,供处理器获取原始的流媒体彩色数据。(4)平面建模摄像头:数字滤波摄像头,负责拍摄物体的边缘锐化效果图像,以获取物体的边缘轮廓数据,使之作为3D建模的基础数据之一。(5)热感感应摄像头:负责拍摄物体的热感辐射照片,以获取人体、动物等运动目标数据并与环境背景相区分,使之作为人体运动跟踪算法的重要基础数据。2.2 ARM11处理器系统(S3C6410)使用三星S3C6410 ARM1176JZF-S处理器,最高主频可达667 MHz,它由8级流水线组成,比以前的ARM内核提高了至少40%的吞吐量[1]。在本产品中,ARM11处理器主要作为控制中枢系统,负责完成摄像头采集阵列的驱动和控制功能,以及对蓝牙、USB接口、以太网、RS232等外设的驱动控制功能。2.3 C64x+ DSP处理器系统使用TI公司的高性能DSP处理器TMS320C64x+系列,该系列处理器中的 8 个功能单元可以并行操作,大大地提高了乘法速度,非常适合于视频、图像处理等领域的应用[2-3]。在本产品中,共采用2片TMS320C64x+数字信号处理器,负责对实时视频图像数据进行编解码计算,并完成复杂的人体三维建模算法。2.4 电源管理模块由ARM11处理器实现电源管理的控制功能,实现包括低功耗模式、休眠模式、电压调节输出、电流检测等电源管理功能。3 算法移植及改进传统上,人体三维建模技术常见的算法主要有曲面建模算法[4]、基于物理特性的建模算法[5]、基于解剖学的分层建模算法[6]和多刚体动力学建模算法[7]。但这些算法并不能很好地满足实时人体运动目标的建模要求。2011年,Microsoft公司免费公布了Kinect SDK开发包Beta版,该版本针对计算机系统的Windows开源代码数据包,运用了新一代的动态骨骼追踪算法。本文对KInect SDK开发包进行了算法移植,将其移植到DSP数字信号处理器,使其可以脱离Windows系统在硬件上独立运行,并进一步对算法进行了改进,使人体追踪目标数由原来的1~2人提高到1~4人。3.1 系统初始化3.1.1 ARM11系统的初始化上电复位后,ARM开始从起始空间执行程序,存放在该地址处的指令为中断向量表。该中断向量表共有8条跳转指令。系统最先执行复位指令,该指令通过修改CPSR更改处理器运行模式。CPSR设置完成后,ARM11系统将进行CPU初始化,CPU初始化主要涉及关闭指令缓存(ICache)和数据缓存 (DCache)等过程。3.1.2 TMS320C64+ DSP处理器系统初始化为适应算法移植的要求,使用DSP/BIOS来初始化DSP系统。DSP/BIOS是TI公司提供的一套初始化代码接口,它以API和宏的形式封装了TI公司的所有硬件模块[8],其初始化过程如下:(1)初始化DSP引导程序。DSP/BIOS程序从入口c_int00开始。复位后,复位中断向量将程序指针自动引导到c_init00。(2)BIOS_init执行基本的模块初始化,然后调用MOD_init宏分别初始化每个使用的模块。(3)调用用户主程序。在完成所有DSP/BIOS模块的初始化后,硬件中断和软件中断均为使能,此时应用程序可以添加代码对各种外设进行初始化。最后,调用BIOS_start启动DSP/BIOS。DSP/BIOS系统启动流程如图2所示。
3.2 DSP人体建模算法流程摄像头采集阵列均由ARM11处理器统一总线控制,并通过数据总线将帧图像数据传递给TMS320C64x+ DSP处理器1,由该处理器完成深度图像处理算法、2D图像重构算法、2D图像互补算法,最后可生成单帧人体三维建模图像,并将数据输出给TMS320C64x+ DSP处理器2。TMS320C64x+ DSP处理器2通过提取256色真色彩摄像头的流媒体同步数据信息,并运用3D视频流重构算法,即可实现对单帧人体三维建模图像的视频流重构计算,从而生成连续帧结构的人体3D建模数据流,最后运用视频流媒体压缩算法,即可输出完整流畅的人体三维建模结果。DSP双处理器阵列算法流程如图3所示。
3.3 算法改进原Kinect SDK开源数据包只支持1~2个人体运动目标的捕捉及建模功能。本系统运用迭代算法,计算出第3个及第4个人体运动目标的解析方程,代入摄像头阵列的采集参数后,即可确定4个动态的人体运动目标的坐标参数,从而完成4个人体运动目标的三维建模。按迭代算法计算,系统理论上可实现12个人体运动学目标的三维建模结果,目前已经实现了1~4个人体运动目标的实时追踪及三维建模功能。4 实验结果及性能分析使用该系统分别对1个、2个、3个、4个人体运动学目标进行了实时三维人体建模实验。结果显示,在单目标识别时,系统能够在较快时间内捕获运动目标,生成初始化建模参考原点,并在2 s内实现人体17节点的三维骨架建模,整体性能良好。同时,多人体运动目标建模实验也获得了较好的性能,实测结果如图4~图7所示。
THE END