可编程嵌入式平台上的实时视频监控毕业设计.docx
文本预览下载声明
可编程嵌入式平台上的实时视频监控毕业设计引言自动视频监控,即硬件组件是由系统智能而不是人工干预控制的,已经成为一个发展迅速的领域。这些系统自动视频监控采用智能视频处理算法来实现更高效、更有效的监控。如同许多图像处理应用需要一个高性能系统来支持实时自动视频监控。而视频处理应用中的密集型计算需要强大的并行处理能力。近年来,采用多处理器结构来支持计算密集型应用如实时图像处理应用已经成为了一种新兴的趋势[1]。例如,虹膜识别应用利用通用计算图形处理器(GPGPUs)和微处理器来提高其运行速度[2, 3]。自动视频监控通常需要低成本、低功耗的嵌入式系统。嵌入式系统通常包括:通用处理器,数据总线,存储器模块和硬件加速器。由于资源方面的限制,在嵌入式系统中优化自动化视频监控是特别具有挑战性。对于串行操作的通用处理器而言,内存开销常常成为阻碍这些系统实现实时处理目标的瓶颈。针对此问题的常见解决方案是按比例缩小视频帧尺寸或者在一个视频帧内处理更小的感兴趣区域(ROI)[4, 5]。与通用计算机使用软件装置相比,视频处理应用通过使用数字信号处理器(DSPs)取得了一些改进,即通过在核心处理器上采用“有限的”并行化和在一些复杂的操作中利用优化的数字信号处理器(DSP)库提供了一些改进。尽管如此,使用数字信号处理器(DSPs)这种方法并没有在视频处理算法中充分发挥其固有并行性的作用。现场可编程门阵列(FPGA)平台与其固有的并行的数字信号处理模块、大量的嵌入式存储器模块和寄存器、以及高速存储器和存储接口为改善嵌入式系统级芯片设计提供了一个行之有效的解决方案。许多研究人员利用现场可编程门阵列(FPGA)技术效能来实现计算密集型算法[6-9]。这些方法实现了应用特定的体系结构,显著提高了系统吞吐量。例如,文献[6]研究结果显示,基于现场可编程门阵列(FPGA)的视频增强系统的性能显著优于其他基于数字信号处理(DSP)或者基于现场可编程门阵列(FPGA)但操作时钟频率较低的系统。在性能上存在差异的主要原因是,现场可编程门阵列(FPGA)的系统利用应用固有的大规模并行操作,而数字信号处理(DSP)器只有固定数目的功能组件,将并行处理限制在一定的范围之内。另一个重要的区别是,由于频繁访问外部存储器,基于数字信号处理(DSP)的实现方案性能显著降低。在基于现场可编程门阵列(FPGA)的实现方案中,片上缓存可用于处理在播放中出现的像素。运用现场可编程门阵列(FPGA)技术开发一个完整的视频处理系统也会遇到很多挑战,如实现高效的内存和存储设备控制器、将系统与不同格式的视频连接、漫长的调试和验证过程。为了节约设计、实施和验证时间,设计人员可以集中精力专注于开发可以集成到嵌入式系统上的硬件加速器。这些特定功能的硬件加速器通常执行计算最密集的操作,而通用处理器则被用于执行控制任务和其它操作。许多研究人员探讨了这一设计方法[10-12]。在文献[10]中,作者提出了基于现场可编程门阵列(FPGA)的摄像头设计,可以实现模板与应用相匹配。该系统将硬件处理组件与通信接口或控制器结合在片上系统(SOC)设计上。Meng et al.提出了一个通过多处理核心进行人体动作识别的嵌入式系统[11]。在此设计中,处理核心是基于Xilinx公司的PicoBlaze软处理器的。在文献 [12]中,作者提出了嵌入式跟踪系统的硬件/软件协同设计,在现场可编程门阵列(FPGA)中执行计算密集型任务来实现知名的光流算法。在本文中,软硬件协同设计的提出是为了有效利用现场可编程门阵列(FPGA)功能来建立实时自动视频监控系统模型。具体地讲,在现场可编程门阵列(FPGA)的逻辑组件中执行目标检测算法的计算密集型操作是为了实现并行处理最大化。采用强大的片上存储器控制器来实现实时处理能力的流水线体系结构设计是其主要的贡献。视频流中的像素被保存在存储器中的现场可编程门阵列(FPGA)内,用以支持目标检测算法的并行体系结构。这个实现方法显著减少访问外部存储器芯片的次数。该设计也将数据转发技术与本芯片的缓冲区相结合,以减少现场可编程门阵列(FPGA)资源。应用控制和用户界面任务是通过在阿尔特拉公司(Altera)的Nios-II软核处理器上执行软件程序来实现的。标准视频框架中的公共视频预处理功能被运用来显著降低开发和验证时间。定制与并行处理模块是通过阿尔特拉公司(Altera)的Avalon流式传输(Avalon-ST)视频协议集成到视频处理链上的[13]。由于这些定制加速器执行一些复杂的和最常用的操作,可以把它们添加到可用于其他视频处理应用的用户库中。其他数据控制界面是通过采用阿尔特拉公司(Altera)的Avalon内存映射(Avalon-MM)协议将硬件控制器连接到Nios-II处理器上来实现的。视频监控方法
显示全部