基于FPGA的多目标图像跟踪技术

前言:一篇自己曾发表过的文章,记录自己过去的一门技术(FPGA),开启新的篇章(软件开发)。

摘 要   为解决复杂背景下,随机选定多目标的跟踪问题,构建了一个跨颜色空间、基于决策树的复合算法跟踪系统。该系统充分利用FPGA的高速并行运算特征,分析一帧数据在RGB颜色空间和灰度颜色空间的特征,并结合连通域分析、自适应算法、质心跟踪等算法,给出目标位置的最优解,多云台控制机构以此控制各摄像关的轴向,实现对多目标的实时稳定跟踪。

1.引言

基于视频图像的跟踪系统中,目标捕获能力及跟踪系统的敏捷度是衡量系统性能的重要指标。随着电子技术及自动化控制等相关技术的进步,图像跟踪系统在多行业尤其是在军事、安保等相关领域得到了广泛应用,用户对跟踪系统的性能也提出了更高的要求。从“简单背景下固定灰度值的单一目标跟踪”到“复杂背景下彩色多目标同时捕获与跟踪”;从“对低速目标的近实时跟踪”到“实现对高速运动目标的实时跟踪”……这些要求使得图像处理的数据量急剧增加,同时对跟踪、控制的算法及系统数据的运算与存储能力提出了更高的要求,驱使我们对相关技术研究投入更多的精力。本文通过对多种常见图像跟踪算法优缺点的研究分析,将多种统计学概念引入到图像跟踪中,提出并实现了一种适用范围广、实时性强、可靠性高的多目标图像跟踪技术。

2.平台介绍
该系统选用ALTERA公司的CYCLONE IV系列的EP4CGX110CF23 FPGA芯片作为运算处理单元。平台选取充分遵循实时性、精确性和可靠性的要求,该芯片拥有多个微DSP核,具有很好的数据运算处理能力,结合FPGA并行性优势,使算法的并行性及多流水线操作方式得到了很好的实现;存储单元使用灵活且易扩展,通过外挂一片128Mbit的DDR2,满足系统对大数据量突发处理的需求。后续可以使用基于其GX口的PCIE或者光纤接口将图像及处理结果传到PC等设备上,实现数据共享等功能。

3.系统工作原理

该图像跟踪系统的工作原理如图1所示。
首先各摄像头拍摄的画面传到FPGA之后,利用中值滤波和图像区域分解技术对图像进行预处理。中值滤波可以有效减小视频图像中颗粒噪点对画像质量的影响,提高后续环节尤其是统计特征值提取环节数据计算的准确度。图像区域分解是将分辨率为320*240格式为RGB565的原始图像分解为大小为16*12的共400个区域块的集合,并分别存储到片外DDR2对应存储单元中。
预处理后的图像送入特征向量分析模块。在RGB及灰度两个颜色空间分别对400个区域块数据进行分析,给出两个不同的特征向量矩阵,压缩后续处理的数据量。在目标检测及连通域分析模块中,将两个特征向量矩阵中各元素与目标特征向量进行比较,统计目标的个数,输出RGB颜色空间及灰度颜色空间的目标矩阵A1、A2(矩阵中的每一个元素是目标编号或背景编号0)。目标轨迹判定模块通过对之前各帧中目标偏移位置做环路滤波,计算出目标可能的位置。决策树模块根据目标轨迹的返回值,比较目标矩阵A1和A2 中的元素,给出最优的目标矩阵。利用质心跟踪算法给出各目标最终质心位置,云台控制模块对目标做出反应。由于目标轨迹判定模块已经对目标运动做出了估计,因此在云台控制模块中并没有再重复使用诸如PID等控制算法,而是着重对伺服系统的驱动方式做出了优化,将控制参数由目标的相对角度换算为伺服系统的转动速度,减小平台的振动对视频质量及跟踪系统鲁棒性的影响。

基于FPGA的多目标图像跟踪技术_第1张图片

图1 多目标图像跟踪系统工作原理图

3.1 RGB颜色空间处理模块
遍历各像素点,通过“行拼接”的方式将各个区域块视为一个一维序列,依据公式(1)对 RGB三个分量分别做差分运算,找出颜色相对稳定的区域,实现区域颜色组合分析。该系统记录了各区域所占比例最大的三种颜色,最后将结果存入RGB颜色空间的特征向量矩阵中。由于该模块只需遍历一次图像数据,因此作者将其安排在了预处理之后,图像数据在存储的同时进行相关计算以压缩系统延时。预处理之后图像数据以整行的方式输出,为了与之匹配,模块中开设了20条流水线对一行所跨的20个区域块同时进行解算,大大提高了系统的并行性,实现了从预处理模块到该模块无延时的数据传输。

3.2灰度颜色空间处理模块
先依据公式(2)将原始的RGB565格式的图像数据转化为8bit的灰度值图像。设计开发过程中作者发现,单纯的对灰度值图像中各区域求方差等特征向量并不能有效地将背景与目标区分开,特别是光照强度的改变会对计算结果造成很大的影响。为此作者提出了以下解决方案:对于区域G(n,m)做如公式(3)的运算,得到G2。依据公式(4)求得区域的变异系数C.V作为其特征向量可以更好的适应光照强度的变化,更准确的将目标与背景区分开。

在灰度图像数据的存储上,考虑到统计特征值的计算需要对样本数据进行多次遍历,作者采用了寄存器矩阵(在VERILOG中体现为寄存器变量数组的形式)存储的形式,可以通过设计组合逻辑电路实现统计特征值的单时钟计算,避免了DDR2读写过程造成的时间上的浪费。经过上述处理,该模块达到了与RGB颜色空间处理模块相同的帧处理速度,因此也以开设20条流水线的方式实现了预处理模块到该模块无延时的数据传输。
3.3目标检测及连通域分析模块
        在此模块中,首先将特征向量模块送过来的两个特征向量矩阵与目标特征向量进行比较,如果匹配则在目标矩阵A1、A2中将该区域块标记为目标编号n;如果不符则将该区域块标记为背景编号0。然后进行连通域分析,对不同位置的相同目标编号做出进一步处理,输出RGB颜色空间及灰度颜色空间的目标矩阵A1、A2。

3.4决策树模块
步骤一:根据各目标轨迹,忽略与该目标运动方向相反方向上视场边缘目标点,如图2.所示,两目标运动方向如两箭头所示,因此只保留在目标对应颜色方框内的目标点。
步骤二:比较RGB颜色空间及灰度颜色空间的目标矩阵A1、A2,保留结果一致的部分。
步骤三:对两个颜色空间中的目标特征向量进行分析,判断目标特征向量的判定效果是否易受环境影响,对A1、A2中不同的部分做出取舍。
步骤四:整合数据、输出最优目标矩阵。

基于FPGA的多目标图像跟踪技术_第2张图片

图2

4.实验结果与系统评测
经验证,在日常生活环境下,该系统可以对多个具有较均匀纹理的目标实现持续跟踪,当目标被遮挡或移出视场后再次出现时,系统可以很好地捕捉到目标,很好的实现了预期设计指标。经完整的系统测试作者也发现该系统存在的几个问题:单一颜色目标的跟踪中虽有目标轨迹判定的辅助,但是依然存在易受环境颜色干扰的问题;由于该系统是建立在区域分析的相关算法之上,因此在有效像素数不足填满一个区域块的小目标跟踪测试中,系统频繁出现失锁、误判目标等问题。为解决以上问题,我们提出:添加基于像素点颜色跟踪算法,实现对小目标的跟踪;并引入加权决策树,优化系统对单一颜色目标及小目标跟踪效果。即在决策树中赋与影响目标检测的各因素不同的权值,当目标为单一颜色目标或者小目标时,系统将加大基于像素点颜色跟踪算法及目标轨迹判定在决策树中的权值,决策树将以此在步骤一的基础上进一步缩小目标可能的范围,减小目标误判的几率。后续测试中,改进后的系统对单一颜色目标及小目标的跟踪效果得到明显改善。

你可能感兴趣的:(技术,fpga,图像跟踪)