本实用新型涉及一种专用片上化硬件装置,具体来说是一种片上化交通图像预处理算法加速盒,属于嵌入式系统设计领域。
背景技术:
随着城镇化日益加剧,城市交通的管理压力愈发明显。日益庞大的交通网络和视频监控系统,使得传统的人工实时监测和对视频的复盘分析不仅耗时耗力,且准确率低,无法适应当前大量监控源中视频流的处理和分析。为了缓解这一矛盾,越来越多的智能分析算法被研发和完善,以用于交通管理和安保(诸如:人脸识别、车辆识别、行人辨识、人车密度评估、目标追踪等)。然而,智能算法的发展和性能的提升带来的是更大的运算复杂度,传统的通用计算机处理器已经无法满足这一状况,需要采用硬件加速平台来支持其运行。另外,在智能化交通管理中,往往需要管理者在现场进行图像或视频流的实时分析,比如交警根据现场视频流中行人和车流密度的分析结果规划指挥策略;根据现场视频流对人群的分析结果快速查找目标特征的行人。综合上述问题,目前需要一种高速的嵌入式硬件加速平台用以解决这类问题。
从硬件加速方法来看,主要有:基于多核中央处理器(cpu)和图像处理器(gpu)异构配置模式的方法、基于分布式或集群计算的方法、基于大规模集成电路(asic)的方法以及基于现场可编程门阵列(fpga)的可重构计算系统加速的方法。基于cpu和gpu异构的计算模式是目前最为常见的硬件加速形式。在cpu的协调下,通过将图像运算量分配给gpu运行来提升系统整体运算能力。但这一系统功耗高,体积大,由于是非专用系统,结构冗余,成本较高。在某些对体积和功耗限制的专用设备(例如机器人、无人机、便携式移动设备等)中并不适用。基于分布式或集群计算的方法是由一些互相连接在一起的计算机构成的一个并行或分布式系统,以一个主机来协调其他计算机的运算工作的分配,从而共同完成某个共同的计算任务。目前,世界各地运行的超级计算机中,大多均采用这种实现,云计算的出现也顺应了这一方法的思路。这种方法虽然伸缩性强、可用性高,但构建大规模专用计算系统成本过高,而且分布运算降低了数据的安全性。基于大规模集成电路(asic)的方法是一种应特定用户要求和特定电子系统的需要而设计、制造的集成电路。asic虽然具有高性能低功耗的优点,但其需要根据具体的应用而进行专用设计,设计灵活性低且前期开发成本高。fpga的计算系统加速方法是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为asic领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。fpga的出现解决了硬件设计灵活性的问题,使用者在fpga上通过硬件描述语言(vhdl或veriloghdl)对系统硬件进行配置,可以实现高度柔性的专用硬件系统。硬件的自主配置功能带来了fpga具备并行性高,功耗低,小巧灵活的优势,被常用在需要高速复杂运算的系统中。
综合上述硬件加速方法,基于fpga的硬件加速系统具备可重用性高,对于不同的图像处理算法可以自行配置相应的专用系统进行计算,其并行运算能力能够大幅增加图像处理的速率;而且fpga功耗低、体积小,适用于大量长时间的交通图像或视频流的在线处理分析以及嵌入式系统的构建。因此,本实用新型以fpga为硬件核心作为片上化交通图像预处理算法加速盒的实现方案。
技术实现要素:
本实用新型解决的技术问题如下:
本实用新型提出一种片上化交通图像预处理算法加速盒,为大量长时间交通图像信息的快速处理提供一种专用的片上化硬件平台,能够在交通现场对图像数据进行快速分析。
本实用新型采用的技术方案如下:
整个片上化系统以fpga作为核心图像处理算法加速元件,fpga的外部分别连接有,用于为fpga运行时提供内存空间的双倍速率同步动态随机存储器(ddrsdram);用于为fpga提供算法开发和调试硬件程序的存储空间的串行外围设备接口闪存(spifalsh)和sd卡模块;用于为fpga硬件加速平台提供外部存储空间的嵌入式多媒体卡(emmc);用于为fpga处理图像数据提供输入输出接口的通讯模块;用于人机交互界面并将图像处理结果显示的lcd显示器件;用于算法运行参数调整的按键模块;用于辅助前述硬件系统工作的辅助元器件模块;为整个fpga硬件系统提供电能的可充电电池和电源模块。整个fpga硬件系统被封装在控制盒中。
为了使整个系统简洁便携,减少异构带来硬件搭建和协调难度的提升,本实用新型采用的fpga内部须集成有arm内核和dsp处理单元。前者用来为片上化提供操作系统平台,便于人机交互;后者用来为图像的硬件加速处理提供的高速的运算资源。
由于fpga芯片在处理图像类问题时需要大量的内部存储空间,尤其是目前计算量大,过程数据多的卷积神经网络类算法。因此,本实用新型采用ddrsdram作为fpga的运行时内部存储空间,减少fpga的存储负担。
整个fpga片上化系统的数据的通讯采用多种接口模块,以适应实际数据流接口的不确定性。采用的通讯模块主要包括了usb接口模块、uart接口模块、vga接口模块、hdmi接口模块、以太网网口模块、蓝牙模块、wifi模块以及扩展io口。
辅助电路模块包括用于协调系统运行的晶振模块、用于为各个芯片提供合适电压的电平转换模块、用于起指示作用的led灯以及系统开关。
整个fpga硬件系统被封装在控制盒中,控制盒usb模块、uart模块、vga模块、hdmi模块、网口模块、扩展io口模块、jtag接口模块、sd卡模块、电源模块提供对应尺寸的接口;控制盒为按键模块和开关模块提供可操作的开口;控制盒为lcd显示屏和led指示灯提供可视区域;控制盒为蓝牙和wifi模块提供外部天线。
片上化交通图像预处理算法加速盒在使用之前,首先定制图像处理算法及其硬件电路。以硬件描述语言(vhdl或veriloghdl)作为实现方法,通过jtag接口将配置好的硬件程序写入spiflash中或在sd卡中配置好硬件程序;同时配置fpga中的arm核用来构建针对处理算法的操作管理系统。在处理图像时,首先以有线或无线的方式接入外部图像数据,外部接入的数据流通过缓存整合后,逐图进行预处理和算法分析,最终将处理后的结果显示在lcd显示屏上;或将数据以有线或无线的方式传输到远程控制端。操作系统控制和图像处理过程中的相关参数可以通过按键模块进行设置和调整,可以从fpga外部存储emmc中获取处理过程和结果的记录信息。
本实用新型带来的有益效果如下:
本实用新型为交通图像复杂处理算法提供了一种片上化加速平台,适用于诸如人脸识别、车辆识别、行人辨识、人车密度评估、目标追踪等交通图像的分析。嵌入式的硬件设计摆脱了传统通用cpu+gpu异构方式带来的功耗高,体积大的情况;也不需要分布式计算带来的成本高以及数据安全引出的问题,大幅降低后端系统的计算压力。综合来看,该实用新型为交通管理人员和安保部门提供了一套专用的便携式图像加速装置,这将为进一步实现城市的数字化、信息化、智能化管理提供有力的工具。
附图说明
图1为片上化交通图像预处理算法加速盒的硬件结构示意图;
图2为片上化交通图像预处理算法加速盒在运行时的工作流程框图;
具体实施方式
下面结合附图对本实用新型作进一步具体实施方式详细说明。
本实用新型采用的硬件结构可参考图1所示,整个系统以fpga芯片作为核心元件,可以依照图1进行电路原理图设计,而后以pcb板的形式做出硬件部分。fpga作为核心图像处理算法加速芯片,是其他外围部件的交互核心,其尽可能位于中心位置。fpga的外部引脚连接有:用于为运行时提供内存空间的ddrsdram,ddr内存可以用单块芯片也可以用多块芯片联合使用;用于为fpga提供算法开发和调试硬件程序的存储空间的spifalsh和sd卡模块;用于为fpga硬件加速平台提供外部存储空间的emmc;用于为fpga处理图像数据提供输入输出接口的通讯模块;用于人机交互界面并将图像处理结果显示的lcd显示器件;用于算法运行参数调整的按键模块;用于辅助前述硬件系统工作的辅助元器件模块。
为适应当前各种主流的图像数据传输方式,图像输入输出的通讯模块包括usb接口及其对应芯片和辅助电路、uart接口及其对应芯片和辅助电路、vga接口及其对应芯片和辅助电路、hdmi接口及其对应芯片和辅助电路、以太网口及其对应芯片和辅助电路、蓝牙模块、wifi模块以及能够自行组织的扩展io口。整个fpga硬件系统的辅助元器件模块包括晶振元件、为fpga及其他芯片供电的电平转换芯片、控制硬件启停的开关和指示系统状态的led灯。可充电电池和对应电源模块为整个硬件系统提供电能支持,其输出经由开关控制接入pcb控制板的电平转换芯片。
为了系统安全和美观,整个fpga硬件系统和电池部分被封装在控制盒中。控制盒上根据pcb元件布局,在对应位置为usb接口、uart接口、vga接口、hdmi接口、以太网口、扩展io口、jtag接口、sd卡插槽、电源模块的电源插槽提供对应尺寸的接口。控制盒上还要在按键模块和开关模块提供用户可操作的开口,以便于人员操作。控制盒上还须在lcd显示屏和led指示灯位置处提供人员可视区域便于查看,可以在其上开口并嵌入玻璃。控制盒外部为蓝牙和wifi模块提供外部天线,用以增强通讯信号。
片上化交通图像预处理算法加速盒在使用之前,先定制图像处理算法及其硬件电路。在电脑上用ise、quartus或vivado软件通过硬件描述语言(vhdl或veriloghdl)配置好图像处理算法和片上化操作系统,然后通过jtag接口将配置好的硬件程序写入spiflash中或在sd卡中配置好硬件程序。系统上电之后,fpga的硬件配置信息被从spiflash或sd卡中读入,系统启动。处理图像时的工作过程如图2所示,根据现场图像数据流的接入方式,以有线或无线的方式接入图像数据;外部接入的数据流通过缓存整合后,逐图进行预处理和算法分析,利用fpga并行计算的能力实现算法的加速;最后图像处理后的结果将显示在lcd屏上,或将数据以有线或无线的方式传输到远程控制端。操作系统控制方式和图像处理过程中的相关参数可以由用户通过按键模块进行设置和调整。