论文部分内容阅读
随着中国经济的快速发展和人民生活水平的提高,国内外的一些恐怖事件和工厂矿井等突发事件促使了人民的安防和自我保护意识的提高。同时,近几年来计算机硬件和软件技术遵循着摩尔定律高速发展,使得安防产业的科学化、信息化和智能化成为了可能。本文设计了基于Linux操作系统、PXA270嵌入式微处理器硬件平台、采用高清IP摄像机和云台实现的嵌入式运动物体自动跟踪监控器系统。该设计能够驱动云台旋转来监控和跟踪运动目标,使得被跟踪的目标一直出现在监控画面中,直到目标丢失。该论文主要从两个方面进行阐述:1、算法的分析与设计:这一部分主要完成了高效的MJPEG图像分离算法,在帧差法和背景差法的基础上提出了新的帧差法提取背景的算法。通过详细分析和研究了OpenCV库中提供的最小特征值的角点提取算法,采用定位在运动目标上的离散角点来描述运动目标,最后详细分析和研究了LK的金字塔算法,采用了OpenCV库提供的LK金字塔光流算法在当前帧中查找运动目标,计算出运动目标的中心在当前画面中的位置,然后驱动云台运动,使得目标物体逐渐向画面的中央进行逼近,直到目标运动物体丢失(反应在程序处理中是描述运动物体的所有离散角点的完全丢失),最后停止云台的运动,重新进行以上的背景提取和目标计算的过程循环。2、程序的移植和优化:由于设计最终的运行平台是在武耀博德公司的PXA270实验平台上,设计中采用了大量的复杂算法,必须采用PXA270的Wireless MMX技术来优化程序,使得处理器的性能发挥到最大。该实验平台给出的交叉编译器不支持Wireless MMX指令集,运行的Linux操作系统为Linux2.4内核,均不能发挥出处理器的最大性能。该部分主要完成了两个内容:1)、PXA270平台的搭建:首先采用了GUN提供的cross-tool为PXA270定制并编译生成了一个支持WirelessMMX和EABI(The Embedded Application Binary Interface)的编译器,然后针对PXA270的硬件平台移植了Linux2.6.28内核,开启了操作系统的浮点模拟器、WMMX技术、FrameBuffer和网络端口的支持,最后采用BusyBox制作了自己的文件系统,使得运行在PXA270上的操作系统得到最大的优化。2)、OpenCV库和程序的优化Intel提出的Wireless MMX技术采用了SIMD指令集,可以同时对64位、最大8个单元的字节数据同时运算。在程序中没有加入WMMX指令集的时候,编译器是无法智能的为代码自动产生WMMX技术支持的汇编指令。程序中,背景提取、特征点的计算、LK光流算法均含有消耗CPU时间的大量矩阵浮点计算,在详细研究了Intel给出的WMMX指令集后,完成了对程序中使用到的OpenCV库函数的优化和程序本身的优化。由于PXA270处理器本身并不支持浮点运算指令,采用的是Linux内核中提供的浮点模拟器,所以程序的运行效果并不能同使用PC平台下支持浮点运算的x86处理器的效果相比。在降低了程序内部处理的图像尺寸后,实现了在PXA270平台下采集640*480图像,以FPS在5帧左右的处理性能完成了该设计。