| Fig.4 The realization diagram of four?port RAM unit3时间滤波算法的实现根据实际测试选用3×3×3高斯平滑滤波模板完全可满足后续计算的精度要求,为实现3帧图像之间的运算,需要对3帧图像进行缓存并同时读取。为此编写一个四端口RAM来完成图像在时间轴的滤波算法,如图4为其实现框图。四端口RAM实际是将SDRAM存储器划分为3个Bank,每个Bank缓存一帧图像,并配合内存管理单元MMU实现的。MMU与SDRAM之间是以100 MHz的速度逐帧顺序写入图像的,而MMU与时间轴滤波模块间通过4个慢速的25 MHz端口连接,其中1个端口是图像写入,3个端口是图像读取。相对于100 MHz的带宽来说,这四个慢速端口恰好可以同时完成写入和读取,满足了时间轴滤波模块同时读取连续3帧视频图像的要求。根据LK算法总体流水线结构,三维高斯平滑滤波和时间FIR滤波中均用到了图像的时间轴运算,这两种运算的结构相同,并且根据图像数据的特点,仅占用8位位宽。而SDRAM的数据总线为16位位宽,因此为了提高资源利用率,将SDRAM的高8位分配给三维高斯平滑滤波,低8位分配给时间FIR滤波,在FPGA逻辑单元和SDRAM空间占用不变的情况下,同时完成这两步运算。4速度矢量计算结构优化通过最小二乘矩阵和浮点数运算单元可计算得到速度矢量。根据式(2)和式(3)构造最小二乘矩阵,即利用导数Ix、Iy和It,计算∑W2I2x、∑W2I2y、∑W2IxIy、∑W2IxIt和∑W2IyIt。窗函数W的选择有两种方式,一是采用具有旋转对称性的高斯核[0.062 5,0.25,0.375,0.25,0.062 5][6],二是采用最简单的平均值滤波方式[7]。方式二计算过程简单,实验证明光流计算精确度仅次于方式一,但这种方式需要用到除法运算,因此占用FPGA资源较多。而方式一经过优化,可完全避免乘除法运算。采用方式一设计最小二乘矩阵实现框图如图5所示。将高斯核定点化为[1,4,6,4,1]/16,这个加权计算需要3次乘法、4次加法和1次除法运算。乘除法运算量较大,但是当乘数或除数为2的N次方时,可用移位操作来代替乘除法运算,从而大幅度降低FPGA资源占用率。定点化高斯核中只有乘6运算不满足2的N次方,将乘6运算拆分成两级流水线乘2、乘4和一次加法运算。经过上述优化,最小二乘矩阵的构造仅需要加法运算和移位操作,大大降低了FPGA图5最小二乘矩阵实现框图 Fig.5The realization diagram of least?square matrices资源占用率,提高了光流场的计算速度。将最小二乘矩阵结果带入式(1)可计算得到最终的光流场速度。式(1)中包含矩阵求逆运算,计算量大,为避免中间结果溢出必须采用浮点数运算。浮点数运算单元结构如图6所示,首先将上一步计算结果通过int to float模块全部转化为浮点数,然后进行浮点数基本数学运算,最后再将结果通过float to int模块转化为定点数。除流水线结构需自行设计外,所有的浮点数运算都使用Quartus II软件提供的IP核来完成。 图6FPGA浮点计算单元框图 Fig.6FPGA floating point calculation unit block diagram 5系统测试效果根据上述优化方法在FPGA平台上实现了基于LK算法的实时光流计算。在30帧/s的速度下,本系统可对640×480分辨率的视频进行实时处理,实现了对单个运动目标进行实时跟踪的目的。高阈值下实际测试的效果图见图7(a);当速度阈值降低时,如图7(b)所示,目标跟踪的灵敏度得到了提高,但物体的轮廓明显变粗,可通过腐蚀和膨胀等图像处理算法来得到清晰的目标轮廓,也可进一步运算得到物体的形心,实现对目标的轨迹进行跟踪。图7实际测试效果图 Fig.7The actual test rendering 6结论通过在图像预处理阶段增加时间轴滤波和在3D导数计算阶段增加匹配滤波,并使用优化的匹配滤波参数,提高了LK算法的计算精度。在视频的仿真中可明显看出,经过这些优化,光流场的精度得到了提高,方向一致性良好。在FPGA硬件平台上,通过对流水线结构进行充分的优化,并设计了四端口RAM进行图像缓存,实现了对30帧/s下640×480分辨率的视频实时处理,对运动目标实现了高速精确的视频跟踪。由于SDRAM仍有很大剩余空间,FPGA也未使用于最高频率,因此,在更换高速、高分辨率摄像头的情况下,该系统的性能还可进一步提升。参考文献: [1]陈浙泊,林斌.动态图像处理系统的设计与研究[J].光学仪器,2003,25(6):34?38. [2]候宏录,高伟平.500 fps图像采集及实时显示关键技术研究[J].光学仪器,2013,35(2):52?57. [3]刘松林,牛照东,陈曾平,等.基于加权Lucas?Kanade算法的目标跟踪[J].光学工程,2011,38(8):67?72. [4]靳鹏飞.一种改进的Sobel图像边缘检测算法[J].应用光学,2008,29(4):625?628. [5]SIMONCELLI E P.Design of multi?dimensional derivative filters[C]∥Proceedings of the IEEE International Conference on Image Processing,Austin,1994,1:791?793. [6]潘金山,苏志勋,王伟.运动细节估计的光流场方法[J].计算机辅助设计与图形学学报,2011,23(8):1433?1441. [7]夏毓鹏,王昕,胡锋.光流场算法中优化图像梯度数据可信度方法[J].计算机工程与应用,2010,46(4):163?165.
|








