基于fpga的质心纠正且状态可辨的粒子滤波算法

文档序号:10513147阅读:382来源:国知局
基于fpga的质心纠正且状态可辨的粒子滤波算法
【专利摘要】本发明提出了一种基于FPGA的质心纠正且状态可辨的粒子滤波算法。本算法的操作步骤如下:1)选择目标,2)计算目标特征,3)产生随机粒子,4)统计粒子直方图,5)计算粒子质心位置,6)计算粒子权重,7)输出目标位置,8)判断跟踪状态,9)显示目标状态与位置。本发明在节省存储空间的前提下,提高了算法的跟踪精度及计算效率,保证了跟踪的准确性与实时性。
【专利说明】
基于FPGA的质心纠正且状态可辨的粒子滤波算法
技术领域
[0001]本发明涉及数字图像处理、目标跟踪算法等先进技术,具体涉及一种基于FPGA的质心纠正且状态可辨的粒子滤波算法,属于电子信息领域。
【背景技术】
[0002]粒子滤波算法与CamShift算法是两种经典的基于颜色直方图统计的目标跟踪算法。CamShift算法的复杂度低,计算量小,易于实现,但其跟踪精度差且跟踪错误率较高。粒子滤波算法的复杂度高,其计算量随粒子数的增加而增加,但其跟踪精度较高且错误率较低。FPGA的并行运算机制对粒子滤波算法进行硬件加速,提高了其算法效率与跟踪的实时性。
[0003]CamShif t算法的基本思想是:第一帧,根据目标框内像素值出现的概率,生成目标的反投影图。设置一个略大于目标框的搜索框。每一帧计算搜索框内目标质心的位置,并将其作为下一帧搜索框的位置。当目标快速运动,搜索框只能覆盖目标的较小一部分,因此仅根据搜索框内的像素计算目标质心会产生较大的误差。当误差不断积累以至于目标彻底离开搜索框时,会导致跟踪错误,且无法被纠正。若搜索框过大,则会引入过多的背景信息,影响目标质心位置的计算。
[0004]粒子滤波算法的基本思想是:第一帧,根据目标框内像素值出现的概率,生成目标的直方图。每一帧在特定的约束下随机产生若干粒子,计算各粒子的权重,并将权重最大的粒子的中心作为目标所在位置。随机产生的粒子位置与目标的实际位置总是存在随机的误差。当产生的随机粒子的数目足够多时,可以缩小误差的范围,但其代价是消耗更多的存储空间与计算单元。
[0005]因此,本发明综合考虑了目标跟踪精度与资源消耗两方面的因素,将CamShift算法的质心计算的方法应用到粒子滤波算法的各粒子质心纠正中,增加了目标的跟踪与丢失状态判断机制,并利用FPGA的并行运算机制保证了算法效率与跟踪的实时性,提出了基于FPGA的质心纠正且状态可辨的粒子滤波算法。

【发明内容】

[0006]原粒子滤波算法中,统计各粒子的权重,将权重最大的粒子判定为目标,并将权重最大的粒子的中心作为目标的中心。由于粒子的位置是随机产生的,因此计算出的目标中心与实际的目标中心存在随机的误差。本发明的目的在于针对上述已有技术的不足,提供一种基于FPGA的质心纠正且状态可辨的粒子滤波算法,引入了 CamShif t算法中计算质心位移的方法,并将其应用到每个粒子的质心纠正上,克服了随机粒子带来的随机误差。原粒子滤波算法通过增加粒子数即大量占用FPGA存储资源的方法,提高跟踪精度。在保证精度相同的条件下,改进后的粒子滤波算法比原算法节省了大量的FPGA存储资源。利用FPGA的并行运算机制,粒子的质心纠正与直方图统计同时执行,保证了算法效率。
[0007]目前的跟踪算法大多旨在提高跟踪精度与速率,极少考虑到判断目标的跟踪与丢失状态。本发明比较了当前帧中权值最大的粒子的权重与前十帧中目标的权重,若两者的权重相差过大,则认为目标丢失。本发明在节省FPGA存储资源的前提下,改进粒子滤波算法的跟踪精度,增加跟踪状态判断机制,并结合FPGA的结构化设计及并行化的硬件加速特点,在FPGA上设计改进的粒子滤波算法。本发明跟踪准确度高,精度高,实时性高,资源消耗少。
[0008]一种基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于操作步骤如下:I)选择目标,2)提取目标特征,3)产生随机粒子,4)统计随机粒子直方图,5)计算粒子的质心位置,6 )计算粒子权重,7 )输出目标位置,8 )判断跟踪状态,9 )显示跟踪状态与位置。
[0009]各状态的切换是通过状态机的设计实现的,各状态所执行的具体步骤如下:
1、选择目标:根据目标所在的位置,移动跟踪框并调节跟踪框大小。当确定目标在跟踪框内时,开始跟踪算法。
[0010]2、计算目标特征:HSV颜色空间有较好的抗光照能力。为减少计算量,将输入的图像转换为HSV颜色空间中的H分量。统计第一帧中目标框内的H分量的颜色直方图,并将其作为目标特征。颜色直方图统计通过读写RAM实现,将H分量作为RAM的写地址,该H分量每出现一次,对应地址内的值加I。统计完成后,RAM的地址为H分量,地址所对应的值为该H分量在跟踪框内出现的次数。
[0011]3、产生随机粒子:由于目标的运动往往是连续的,下一帧目标出现在当前帧目标的周围的可能性较大。因此,在目标周围散布较多的随机粒子,而在远离目标的区域散布较少的随机粒子,这些粒子可以保证当物体快速运动时,仍保持跟踪。当目标处于丢失状态时,由于无法预测目标会从监控画面的哪一边进入,其概率是均等的,因此全屏散布粒子。
[0012]4、统计粒子直方图:粒子的位置随机产生,粒子框的大小与跟踪框一致。每个粒子统计其对应的颜色直方图,统计方法如步骤2。若多个粒子所覆盖的监控区域有部分重叠,则根据FPGA的并行运算机制,重叠部分各粒子的直方图统计能并行地执行,而不降低算法的计算效率。
[0013]5、计算粒子质心位置:由于粒子的位置是随机产生的,若将随机粒子的位置作为目标可能出现的位置,则会产生随机的误差。当目标在画面中静止不动时,目标的位置仍会被随机刷新,且误差的范围不可控。当粒子数较少,权重最大的粒子所覆盖的目标面积较少时,将粒子中心作为目标的中心,跟踪的精度会产生较大的误差。因此,原粒子滤波算法的跟踪精度是以增加粒子个数为代价的。而每个粒子均需要一定的逻辑资源与存储资源来进行直方图统计与权重计算。增加粒子数无疑会占用大量的FPGA存储资源。因此,引入粒子的质心纠正机制的目的在于:在节省FPGA存储资源的提前下,缩小随机粒子对目标位置确定所带来的随机误差的范围。
[0014]粒子直方图统计与粒子质心位置的位置均需要扫描到的当前粒子的信息。粒子直方图统计需要当前粒子的颜色信息,而粒子质心位置的计算需要当前粒子的颜色信息与位置信息。如果这些信息不立即进入计算处理,则需要占用FPGA的片内RAM来保存这些信息,而且无疑会耗费额外的计算时间。为了节约FPGA存储资源并加快计算效率,在统计粒子颜色直方图的同时,FPGA可以并行地执行粒子的质心位置计算。将粒子框中各像素的位置即横纵坐标,与H分量的值所对应的目标直方图中的出现次数相乘后求和,除以所有H分量的值之和,得到粒子的质心位置。
[0015]6、计算随机粒子权重:当所有粒子的颜色直方图全部统计完成后,计算各粒子的权重。所有粒子的权重计算均为并行执行。将各粒子直方图与第一帧中目标直方图的对应位相乘开方后求和,得到各粒子的权重。
[0016]7、输出目标位置:当所有粒子权重计算完毕后,将各粒子的权重进行排序,找出其中权重最大的粒子,该粒子为当前帧的目标粒子。将权重最大的粒子的质心位置作为当前帧的目标所在位置输出到显示模块。
[0017]8、判断跟踪状态:由于目标是连续运动的,在跟踪状态下,帧间目标权重的差异不会很大。当目标逐渐退出监控范围内时,目标权重会随着粒子框所覆盖的目标面积减少而逐渐减少。因此在跟踪到丢失状态之间临界的几帧间的目标权重减少的幅度较小,但其与跟踪状态下目标粒子的权重相比,减少幅度就较为明显。为了区分目标权重的变化是目标移动造成的还是目标离开监控画面所造成的,将当前帧与前第十帧进行比较。
[0018]保存跟踪状态下连续十帧的目标粒子的权重。若当前帧目标粒子权重除以前第十帧目标粒子权重的比例高于预设的比例阈值,则判定目标仍处于被跟踪的状态。反之,低于则判定为丢失状态,并不保存该帧权重,将前第十帧的目标权重作为跟踪状态下的目标权重。丢失状态下,每一帧各粒子继续进行运算,直到该帧的目标粒子权重与跟踪状态下的目标权重的比例再次高于预设阈值,则判定目标重新进入画面,处于被跟踪状态。
[0019]9、显示跟踪状态与位置:当目标处于跟踪状态,在屏幕上显示目标粒子的质心、粒子框及跟踪的提示字幕。当目标处于丢失状态,只显示监控画面,不显示目标位置与跟踪框,并出现丢失的提示字幕。返回步骤3产生随机粒子。
[0020]本发明能带来的有益效果在于:
1、在节省FPGA存储资源的前提下,提高了粒子滤波算法的跟踪精度。原粒子滤波算法通过增加随机粒子的个数,尽可能多的覆盖目标可能出现的位置。因此,原算法以占用更多资源为代价,提高了算法的跟踪精度。本发明在粒子滤波算法的基础上,引入质心纠正机制,在节省FPGA存储资源的前提下,缩小了由粒子随机性所导致的目标位置的随机误差。8个粒子的改进粒子滤波算法比原粒子滤波算法在跟踪误差上减少了 54%。8个粒子的改进粒子滤波算法比32个粒子的原粒子滤波算法在FPGA存储资源占用上减少了 23%。
[0021]2、判断目标的跟踪与丢失状态。目标跟踪算法不仅需要提供一个高精度高效率的目标计算方法,而且需要提供一种跟踪与丢失状态判断的机制。通过比较数帧之间目标粒子权重的变化,分辨目标权重变化是由跟踪状态下目标运动所引起的还是由目标逐渐退出监控画面而引起的。本发明不仅可以正确地检测跟踪与丢失状态,并且具备目标从丢失状态恢复到跟踪状态后找回目标的功能。
[0022]3、利用FPGA的并行运算机制,对改进的粒子滤波算法进行硬件加速,提高了运算效率。对于视频处理算法而言,保证算法的实时性是至关重要的。FPGA的并行运算机制,使得各粒子的直方图统计与质心计算等等的计算步骤可以并行地执行。在提高算法复杂度与计算量的同时,仍能保证算法的计算效率,保证了跟踪算法的实时性。
【附图说明】
[0023]图1算法流程。
[0024]图2目标直方图统计方法。
[0025]图3跟踪时随机粒子产生示意图。
[0026]图4粒子质心计算。
[0027]图5判断目标跟踪与丢失状态。
【具体实施方式】
[0028]本发明的优选实施例结合附图详细阐述如下:
实施例一:
参见图1?图5,本基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于操作步骤如下:1)选择目标,2)计算目标特征,3)产生随机粒子,4)统计粒子直方图,5)计算粒子质心位置,6)计算粒子权重,7)输出目标位置,8)判断跟踪状态,9)显示目标状态与位置。
[0029]实施例二:本实施例与实施例一基本相同,特别之处如下:
1、所述步骤I)选择目标:手动选择感兴趣目标,跟踪框的大小和位置即为目标的大小与初始位置,开始跟踪。
[0030]2、所述步骤2)计算目标特征:将RGB图像转换为HSV图像,并提取H分量作为目标特征,统计范围为跟踪框内的所有像素点;使用RAM来统计目标的颜色直方图,RAM的地址为H分量的取值范围,各地址内存放的值表示该H分量在跟踪框内出现的次数,即跟踪框内有多少个像素等于该H分量值。
[0031]3、所述步骤3)产生随机粒子:当目标在监控画面中处于跟踪状态,由于目标的运动是连续的,下一帧目标出现在当前位置周围的可能性较大;因此,在目标周围产生较多的随机粒子,在监控画面中的其他区域内,产生较少的随机粒子;当目标在监控画面中处于丢失状态,目标处于屏幕中任一位置的概率是相等的;因此,在全屏范围内散布随机粒子。
[0032]4、所述步骤4)统计粒子直方图:粒子直方图的统计方法与所述计算目标特征的方法相同;利用FPGA的并行运算机制,多个粒子的直方图统计是并行的;当多个粒子覆盖同一个区域,该区域的所有粒子能够同时进行直方图统计,节省了计算时间。
[0033]5、所述步骤5)计算粒子质心位置:引入CamShif t跟踪算法中计算目标质心的方法,对于粒子框中的每一个像素,根据目标的颜色直方图,查找目标中每一个像素出现的几率;将粒子框中的每一个像素的位置即横纵坐标与该像素出现的几率相乘,将框内所有像素的乘积结果相加,除以各像素的出现几率之和,得到各粒子的质心;当粒子数为8个时,改进后的粒子滤波算法,相比原粒子滤波算法,其跟踪误差降低了 54%,在保证跟踪精度的条件下,节省了 FPGA的存储资源,原粒子滤波算法通过增加粒子的个数,提高跟踪的精度;但粒子数的增加是以牺牲FPGA片内存储资源为代价,通过粒子的质心纠正后,能够提高跟踪的精度;当改进后的粒子滤波算法使用较少的粒子时,其精度就能达到原粒子滤波算法使用较多粒子时的精度;8个粒子的改进后的粒子滤波算法与32个粒子的原粒子滤波算法的跟踪精度接近,但其FPGA存储资源节省了 23%;各粒子的直方图统计与质心计算并行执行,质心纠正计算需要当前像素的颜色特征值和位置信息;如果将其保存在RAM里,最后计算其质心将会占用大量FPGA存储资源,粒子的颜色直方图统计也需要当前像素的颜色特征值;因此,利用FPGA的并行机制,将粒子颜色直方图统计与质心计算同时执行,不增加算法的计算时间,保证了算法的效率。
[0034]6、所述步骤6)计算粒子权重:当所有粒子的直方图统计完成后,计算各粒子的权重,将各粒子直方图与第一帧中目标直方图的对应位相乘开方后求和,利用FPGA的并行运算机制,得到粒子权重,所有粒子的权重计算并行执行。
[0035]7、所述步骤7)输出目标位置:根据所述计算得到的各粒子的权重,将其排序,其中权重最大的粒子所在的位置作为目标位置输出。
[0036]8、所述步骤8)判断目标跟踪与丢失状态:根据目标的权值变化,判断目标是否仍在监控范围内,由于目标在监控画面中的变化往往是连续的,目标的大小会随着目标与摄像头的距离,其在监控画面中的大小会不断变化;当目标逐渐离开监控画面时,帧间的目标权值差异也逐渐变化而非突变;因此,考虑到目标连续变化且非突变的特点,将当前帧中权值最大的粒子的权重与第前十帧中的目标粒子的权重相除,若比例高于预设阈值,则说明目标仍处于被跟踪状态,反之,则认为目标丢失;当目标判断为丢失时,锁定丢失前第十帧的目标权值,系统仍执行跟踪算法,各粒子继续计算其权重;当权值最大的粒子的权重与丢失前的目标权重大于预设的阈值时,目标重新回到监控画面中,继续跟踪,反之,则认为目标仍处于丢失状态。
[0037]9、所述步骤9)显示跟踪状态与位置:当目标处于跟踪状态时,监控画面中显示目标的质心、目标框及目标正在跟踪的提示字幕;当目标处于丢失状态时,监控画面中不显示目标的质心与目标框,显示目标已丢失的提示字幕。
[0038]实施例三:
参见图1,8个粒子的一种基于FPGA的质心纠正且状态可辨的粒子滤波算法的具体实施步骤如下:
为减少光对跟踪算法的影响,将输入图像的颜色空间转换为HSV颜色空间,并提取其中的H分量参与跟踪算法的计算,从而减少计算量。
[0039]各步骤的切换由状态机实现。若当前的步骤满足一定条件,则跳转至下一状态。
[0040]1、选择目标:指定红外遥控器上的特定按键为上、下、左、右移动,跟踪框放大、缩小,开始跟踪、结束跟踪。FPGA识别红外遥控器信号,控制跟踪框及跟踪状态。当确定目标在跟踪框内,按下开始键,进入跟踪状态。
[0041]2、计算目标特征:第一帧,统计跟踪框内像素的颜色直方图,计算方法参见图2。通过读写RAM来计算与存储目标的颜色直方图。将H分量作为RAM的地址,其出现的次数保存在对应的地址内容内。由于H分量的取值从O到360变化,因此RAM地址为O到360。本发明中设计的跟踪框最大为80像素*80像素,因此一个H分量出现次数的范围为O到6400,即一个RAM地址保存的数据大小为13位。对每个像素,将H分量作为读地址,将原数据读出后加I。同时将读地址赋给写地址,将加I后数据送入输入端,重新写入RAM。由于数据读出与数据加I送入输入端均消耗一个时钟,因此读写地址赋值之间相差两个时钟。读使能会像素扫描到跟踪框内时有效,写使能比读使能延时两个时钟,使得数据正确写入相应地址,完成目标直方图的统计。在计算粒子的质心时,由于粒子之间会有重叠部分,因此,需要同时访问直方图中的各地址。在完成统计后,将RAM中的内容全部读出,做一个副本,每个地址对应一个13位的寄存器,寄存器中的内容直至跟踪结束不会被改变。当第一帧结束时,进入跟踪模块。
[0042]3、产生随机粒子:跟踪状态下,参见图3,在目标所在位置周围散布较多的随机粒子,在背景中散布较少的随机粒子。当目标被判断为丢失状态,则全屏均匀散布随机粒子。
[0043]4、统计粒子直方图:当像素扫描到各粒子框内,粒子开始统计其颜色直方图,统计方法与步骤2相同。本例中采用8个粒子,则8个粒子均分配了一个大小与目标直方图一致的RAM来计算与保存本粒子的颜色直方图。
[0044]5、计算粒子质心位置:粒子质心计算参见图4,方框为粒子框,椭圆形为目标,黑点为随机粒子的中心位置,红点为经过粒子的质心纠正后的结果。粒子的质心涉及到目标直方图与粒子内像素位置等信息。每个像素根据其H分量的值查询目标直方图所对应的寄存器。将像素的横坐标与该像素在目标中出现次数相乘后求和,除以目标中所有像素在目标出现次数之和。纵坐标的处理方式相同。该操作将粒子框中的各像素的位置进行加权,若该像素在目标直方图中出现的次数较多,则该像素出现的位置是目标所在的可能性越高,反之则越低。计算所得的横纵坐标即为粒子的质心位置。每个粒子具有对应的寄存器来保存其质心位置,直至下一帧到来时被刷新。
[0045]6、计算粒子权重:粒子的活动范围不会超过屏幕显示的有效范围内,而视频信号除了有效信号外,还有一段消影时间。当像素进入消影时间内,说明所有粒子的直方图统计均已完成。此时,将目标直方图及所有8个粒子的直方图的读使能全部置为有效,读地址从O加至360 ο目标与所有粒子直方图的读取均为并行操作。各粒子分别与目标进行权重计算,即目标与粒子直方图的对应位相乘后开方,再求和。每个粒子均分配了寄存器来保存其对应的权重,直至下一帧到来时被刷新。
[0046]7、输出目标位置:8个粒子有8个粒子权重,占用8个时钟节拍比较粒子权重。每一拍将一个粒子的权重与当前最大的权重进行比较,若大于最大权重,则替代该粒子成为最大权重的粒子。权重最大的粒子的质心位置即作为目标所在位置输出给显示模块。
[0047]8、判断目标跟踪与丢失状态:步骤参见图5。设置一个移位寄存器,保存十帧的目标粒子权重数据。进入跟踪算法后的第一帧,计算得出的目标粒子权重填满移位寄存器中前十帧的值。当下一帧计算得出新的目标粒子权重时,与移位寄存器最高位保存的目标粒子权重进行比较,若满足预设的比例阈值,则认为目标处于被跟踪状态。通过多次实验,得到比例阈值的经验值,其设置为86%至92%即能判断目标处于跟踪状态还是丢失状态。同时,将移位寄存器左移,在最低位填入当前帧的目标粒子权重。当目标从跟踪状态被判断为丢失状态时,移位寄存器不左移,将跟踪状态下前第十帧的粒子权重保存下来并替换移位寄存器之后九帧数据。丢失状态下,移位寄存器中的所有值不被更新。当监控画面中的目标粒子权重与移位寄存器中保存的目标粒子权重的比例阈值再一次符合条件时,系统判断目标重新回到跟踪状态,并更新移位寄存器。设置一个状态判断标志位,丢失时该标志位置I,跟踪时该标志位清O。
[0048]9、显示目标状态与位置:经过跟踪算法处理后的屏幕上会显示监控画面、目标轨迹、跟踪框、以及跟踪与丢失状态提示字幕。跟踪轨迹即为目标位置。跟踪框即以目标位置为中心,边长为初始目标框大小的正方形。当状态判断标志位置I,则屏幕右上角显示“丢失”。反之,显示“跟踪”。字幕的制作与显示过程如下:计算好字幕显示区域的像素大小。在PC上画好字幕,保存为BMP格式。再将其转换成MIF格式,其排序顺序按像素逐行逐个顺序排列,字所在像素用I表示,背景所在像素用O表示。将生成的MIF文件存入一块ROM中。根据像素位置与ROM地址显示字幕。
【主权项】
1.基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于操作步骤如下:I)选择目标,2)计算目标特征,3)产生随机粒子,4)统计粒子直方图,5)计算粒子质心位置,6)计算粒子权重,7)输出目标位置,8)判断跟踪状态,9)显示目标状态与位置。2.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤I)选择目标:手动选择感兴趣目标,跟踪框的大小和位置即为目标的大小与初始位置,开始跟踪。3.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤2)计算目标特征:将RGB图像转换为HSV图像,并提取H分量作为目标特征,统计范围为跟踪框内的所有像素点;使用RAM来统计目标的颜色直方图,RAM的地址为H分量的取值范围,各地址内存放的值表示该H分量在跟踪框内出现的次数,即跟踪框内有多少个像素等于该H分量值。4.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤3)产生随机粒子:当目标在监控画面中处于跟踪状态,由于目标的运动是连续的,下一帧目标出现在当前位置周围的可能性较大;因此,在目标周围产生较多的随机粒子,在监控画面中的其他区域内,产生较少的随机粒子;当目标在监控画面中处于丢失状态,目标处于屏幕中任一位置的概率是相等的;因此,在全屏范围内散布随机粒子。5.根据权利要求3所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤4)统计粒子直方图:粒子直方图的统计方法与所述计算目标特征的方法相同;利用FPGA的并行运算机制,多个粒子的直方图统计是并行的;当多个粒子覆盖同一个区域,该区域的所有粒子能够同时进行直方图统计,节省了计算时间。6.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤5)计算粒子质心位置:引入CamShift跟踪算法中计算目标质心的方法,对于粒子框中的每一个像素,根据目标的颜色直方图,查找目标中每一个像素出现的几率;将粒子框中的每一个像素的位置即横纵坐标与该像素出现的几率相乘,将框内所有像素的乘积结果相加,除以各像素的出现几率之和,得到各粒子的质心;当粒子数为8个时,改进后的粒子滤波算法,相比原粒子滤波算法,其跟踪误差降低了 54%,在保证跟踪精度的条件下,节省了FPGA的存储资源,原粒子滤波算法通过增加粒子的个数,提高跟踪的精度;但粒子数的增加是以牺牲FPGA片内存储资源为代价,通过粒子的质心纠正后,能够提高跟踪的精度;当改进后的粒子滤波算法使用较少的粒子时,其精度就能达到原粒子滤波算法使用较多粒子时的精度;8个粒子的改进后的粒子滤波算法与32个粒子的原粒子滤波算法的跟踪精度接近,但其FPGA存储资源节省了 23%;各粒子的直方图统计与质心计算并行执行,质心纠正计算需要当前像素的颜色特征值和位置信息;如果将其保存在RAM里,最后计算其质心将会占用大量FPGA存储资源,粒子的颜色直方图统计也需要当前像素的颜色特征值;因此,利用FPGA的并行机制,将粒子颜色直方图统计与质心计算同时执行,不增加算法的计算时间,保证了算法的效率。7.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤6)计算粒子权重:当所有粒子的直方图统计完成后,计算各粒子的权重,将各粒子直方图与第一帧中目标直方图的对应位相乘开方后求和,利用FPGA的并行运算机制,得到粒子权重,所有粒子的权重计算并行执行。8.根据权利要求7所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤7)输出目标位置:根据所述计算得到的各粒子的权重,将其排序,其中权重最大的粒子所在的位置作为目标位置输出。9.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤8)判断目标跟踪与丢失状态:根据目标的权值变化,判断目标是否仍在监控范围内,由于目标在监控画面中的变化往往是连续的,目标的大小会随着目标与摄像头的距离,其在监控画面中的大小会不断变化;当目标逐渐离开监控画面时,帧间的目标权值差异也逐渐变化而非突变;因此,考虑到目标连续变化且非突变的特点,将当前帧中权值最大的粒子的权重与第前十帧中的目标粒子的权重相除,若比例高于预设阈值,则说明目标仍处于被跟踪状态,反之,则认为目标丢失;当目标判断为丢失时,锁定丢失前第十帧的目标权值,系统仍执行跟踪算法,各粒子继续计算其权重;当权值最大的粒子的权重与丢失前的目标权重大于预设的阈值时,目标重新回到监控画面中,继续跟踪,反之,则认为目标仍处于丢失状态。10.根据权利要求1所述的基于FPGA的质心纠正且状态可辨的粒子滤波算法,其特征在于所述步骤9)显示跟踪状态与位置:当目标处于跟踪状态时,监控画面中显示目标的质心、目标框及目标正在跟踪的提示字幕;当目标处于丢失状态时,监控画面中不显示目标的质心与目标框,显示目标已丢失的提示字幕。
【文档编号】G06T7/20GK105869186SQ201610254140
【公开日】2016年8月17日
【申请日】2016年4月23日
【发明人】王姝慧, 陆小锋, 黄睿, 钟宝燕, 裴栋彬, 颜柯, 崔微, 王桥元
【申请人】上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1