PSoC软硬件协同设计的嵌入式实时视频监控系统

(整期优先)网络出版时间:2019-07-17
/ 2

PSoC软硬件协同设计的嵌入式实时视频监控系统

管玲张文毳

天津瑞能电气有限公司天津市300385

摘要:自动视频监控发展迅速,其中,硬件组件由系统智能控制而不是人工干预,这些系统通过采用智能视频处理算法能够更高效地监控。伴随着许多图像处理应用程序的出现,急需一种支持实时自动视频监控的高性能系统,这些视频处理应用程序中的密集计算需要强大的并行处理能力。可编程门阵列平台具有固有并行数字信号处理块、大量嵌入式内存块和注册表以及高速内存和存储接口的现场,能够为嵌入式完全片上系统设计提供一种具有吸引力的解决方案.因此,本文提出了一种基于片上可编程系统软硬件协同设计的实时自动视频监控系统,对象检测算法的计算密集型操作在FPGA的逻辑元件中实现,从而最大化并行处理。

关键词:嵌入式系统;可编程门阵列(FPGA);并行计算;视频监控;对象检测

1.视频监控系统设计

1.1背景图像构建

创建背景模型的最常用的方法之一是用高斯概率密度函数表示图像中的每个像素,该方法能够基于运行的高斯PDF平均值连续更新模型,该模型使用单一高斯函数,能有效估计静态场景和良好表示变化场景。高斯混合是表示变化环境中背景模型的一种更有效的方法,但它也是一种计算密集型方法,这对嵌入式系统中的实时应用程序来说并不理想。另一种建模背景图像的常用方法是时间中值滤波TMF方法通过选择n个样本帧上同一像素位置的中值来计算背景图像中每个像素的密度,该方法简单,且适用于实时应用程序,常用于有效创建视频序列的背景图像,其主要缺点是需要大量存储空间来存储n个视频帧,这在典型的板上内存有限的嵌入式系统中不可行。直方图时间中值滤波方法是TMF的变种,虽然传统TMF方法需要排序算法来确定特定像素的中值,但是直方图-TMF方法在背景图像中维护每个像素的直方图,通过从累积函数选择中间点来计算中值,该方法相比传统TMF显著减少了存储需求。近似中值滤波是一种更适合于嵌入式系统实时操作的方法,该方法消除了传统TMF方法中所有的存储需求,除了原始背景图像缓冲,这种滤波方法使用式近似时间的中值,这种方法中,如果传入的密度大于或小于背景模型,则通过简单增加或降低背景模型中像素(X,Y)的值来近似中值。

1.2检测

扫描滤波后的前景图像,通过检查二值图像来检测场景中的异物,非零像素的聚类表示输入图像中有异物存在,按照光栅扫描顺序执行该检查过程(从左到右、从上到下),这适用于流水线结构,在用于绘制围绕对象边界框的表中维护这些聚类的坐标,这些坐标也可传入系统其他组件进行进一步分析或附加动作。

1.3软硬件协同设计

片上可编程系统(PSoC)构建器是Altera的Quartus开发软件工具的一部分,能使设计者迅速连接并生成片上可编程完整嵌入式系统,主要用于定义Nios-II处理器与嵌入式系统中各种外设和硬件部件之间的连接,用户可以集成许多标准外设的内置软件控制器以及定制软件加速器。另一种可用于快速设计并实现视频处理系统原型的重要工具是AlteraVIP组件,AlteraVIP组件包含公共视频输入/输出接口、帧缓冲控制器、视频大小重置内核、颜色变换内核、视频去交错内核、滤波、切换等,首先通过连接PSoC构建器中的元件构建基础系统,定制IP内核由VHDI实现,使用PSoC构建器集成到整个系统中,本文提出的嵌入式系统框图如图1。软件控制编程由C编程语言完成,使用Alter监控程序编译,C程序由Nios-II处理器执行,Nios-II处理器用作命令和控制组件,利用PSoC构建器中测试和验证后的内置组件,本文侧重于软件控制程序和硬件加速器的开发。笔者使用的VIP内核包括视频解码器、色度重采样、视频剪辑、视频直接存储访问(DMA)控制器、阿尔法混合器、双时钟先入先出(FIFO)缓冲控制器和VGA控制器。视频框架还提供所有标准I/O接口,集成于本文提出的视频监控系统原型。

图1.视频监控系统的原理框图

1.4软件程序

应用程序整个控制器由C编程实现,由nios--II处理器执行,高级程序通过触摸屏随时监控输入命令,其主要任务包括基于AMF算法创建背景模型、更新前景检测组件中的阈值、直接视频流输入输出帧缓冲。开发使用通用输入/输出信号的封装电路,从而与触摸面板交互,然后将该封装电路集成到嵌入式系统中监控触摸屏并产生(X,Y)坐标连同服务请求信号,该服务请求信号连接到nios--II处理器,当检测到新坐标时在nios--II处理器中产生中断,然后nios--II处理器调用适当的软件函数响应该命令.滑动开关的输入表示期望阈值的二进制数,C程序通过Avalon-MM接口定期读取开关的输入。

2.实验设置

设计基于Altera视频处理框架的视频监控系统,在DE2-70板上实现,原型中所用的相关元件包括CycloneIIFPGA,2-MBSRAM芯片,2个32-MBSDRAM芯片,18个滑动开关,2个ADV7180多格式SDTV视频解码器和1个50-MHz振荡器,实现所用的外部设备包括安全摄像机,10.9cmTRDB_LTM触摸屏。提出的视频监控系统原型,实现设计使用的VHDL和Altera开发软件工具包括:一,QuartusII版本10.1.。第二,NiosII嵌入式设计套件版本10.1。第三,QuartusII的大学课程设计套件版本10.1。实现整个实时视频监控系统所使用的资源,该原型表明,它能在与输入视频流相同的速率下检测视频流中的前景对象,因为专用流水线和并行硬件组件加速了所有计算密集型操作,能够在每时钟周期处理1个像素,由视频源和视频解码器产生的输入视频流的像素率为1个像素/s,最大可操作时钟频率为209MHz,理论上,完全流水线架构能实现的帧分辨率约为680640×480帧/s(标准视频帧分辨率),大于实时应用程序中考虑的30~60帧/s的处理速率.实验使用多个视频序列来证实运行中的原型,视频源(摄像机,DVD播放器,iPhone等)连接到复合视频连接器,视频输入流设置为400×240,使用该非标准分辨率与触摸屏显示的分辨率匹配.系统操作者通过触摸屏控制视频监控系统,操作者发命令启动程序,使用AMF方法或从输入流采集视频帧创建1幅背景图像。

结论

简而言之,文章主要分析了实时视频监控系统原型的设计与实现,有效使用了Altera视频处理和嵌入式设计框架,结果表明,复杂系统的原型能够迅速实现,动态自动创建更精确背景图像的有效过程集成到了基于软件的功能中,周期性更新背景模型。本文的研究表明,采用高性能和大规模并行硬件加速器,低成本嵌入式系统能够执行实时对象检测。本文提出的硬件加速器显著增加了系统的吞吐量,通过采用片上缓冲方案支持流水线和并行架构,有助于维持附着于视频数据包AVALON数据流协议所需的数据流。此外,将数据转发技术结合到平滑过滤中,减少了计算量和资源,用户控制和应用程序灵活性由高级别软件程序维护,在通用处理器上执行.性能评估结果表明,本文提出的软硬件设计显著优于其他几种较为优秀的基于处理器和基于FPGA的实现.未来研究将侧重于监控系统的对象跟踪和对象验证。

参考文献:

[1]万山,李磊民,黄玉清.融合偏微分方程和中值滤波的图像去噪模型[J].计算机应用,2018,31(9):2512-2514.

[2]王小平,王万刚,蔡川.嵌入式Linux下FPGA与ARM处理器DMA数据采集程序设计[J].西南师范大学学报:自然科学版,2017,39(4):120-123.