您的位置 首页 汽车

一种改进型surendra布景更新算法的FPGA完成

针对现有的动态背景提取运动目标物体算法复杂且难以在硬件上实现的问题,研究了改进型surendra背景更新算法原理的特点,提出了改进型surendra背景更新算法的硬件结构,并对硬件结构进行综合、仿真后

运动方针检测是经过找到图画序列中的运动像素点和停止像素点,然后找到远景中的改动区域,进而将运动的方针物体从布景图画中提取出来。现有的运动方针检测办法主要有光流法、帧差法、布景图画差分法[1]和边际检测算法。光流法运算公式杂乱、核算量大,不适用于当令性要求很高的场合。帧差法和布景图画差分法比较光流法更简略、易于实时操作 ,且使用广泛。因为布景图画差分法对因为光照引起的动态场景改动十分灵敏,跟着时间的推移,如实践光线、环境的改动或布景中固定方针的移动都会使得布景图画发生改动。向海霞、王卫星[2]提出一种使用卡尔曼滤波对布景进行猜测与更新算法;张彦[3]等人提出一种将根据特征点的办法和根据像素点的布景建模办法相结合的布景更新算法。但这些算法杂乱,难以在硬件上完结,只合适使用软件办法完结,很难进步速度,到达实时性要求。而2009年徐方明、卢官明[4]提出根据改善surendra型布景更新算法的运动方针检测算法,经过改动静态阈值为动态阈值,使用动态阈值更新布景模型,再将当时图画和当时更新布景做差运算之后发生差分图画。该算法在有运动方针存在的状况下提取出牢靠的布景模型,而且可以自习惯地对布景模型进行较为精确的更新,更新速度较快。但所选用的是软件办法完结,履行速度不高。本文选用改善的surendra布景更新算法,针对该算法的特色进行硬件结构剖析,使用FPGA流水线使命处理技能以及并行处理的长处,选用硬件办法对动态布景下运动方针的提取进行实时检测。

1 改善型surendra布景更新算法原理

改善surendra型布景更新算法的基本思想是事先将布景图画贮存下来,使用当时帧图画减去布景图画,然后比较得出运动方针。因为周围环境的改动形成图画布景的改动,选用传统静态阈值更新布景将不能很好地习惯环境的改动,需求动态阈值实时更新布景,以便更好地切割远景和布景。这儿选用根据灰度直方图中图画最大灰度值与最小值灰度值的均值作为图画的切割阈值。整体完结分为四个过程:初始帧图画的树立、动态阈值的求取、布景帧图画的更新和差值图画的求取。改善型surendra布景更新算法结构如图1所示。

(1)布景图画的树立

将收集到的开端M帧图画数据进行均匀,以这M帧图画的均值图画作为最开端的布景图画。这样初始布景图画为最实在的布景图画,减小了以单帧作为开端布景图画时,因外界环境的骤变而带来的布景图画不精确的可能性。其描绘如下:

2 改善型surendra布景更新算法硬件完结特色剖析

(1)初始布景帧图画的树立。为了能客观地反映原始布景图画的特色,需求将最开端的M帧图画进行存储再求均匀,所以需求选用双端口RAM[5,6]对M帧图画进行存储。这儿归纳考虑图画速度和所占用资源状况,COUNTER计数用于将前M帧图画进行存储再求均匀作为初始帧的布景图画。在求均匀时,需求用到除法,可以经过移位办法求均匀,减小资源的占用。初始布景帧图画原理如图2所示。

(2)布景帧和当时帧图画的存储。因需求对图画布景帧更新后再进行差分运算,所以需求用RAM对布景帧和当时帧图画进行存储。因为要对布景帧和当时帧进行暂存,将暂存的当时帧图画和布景帧图画输出到更新模块进行布景更新运算,一起将更新后的布景数据再次输入到布景更新模块之中,最终再将更新后的布景帧和当时帧图画同步输出做差分运算。因为一帧有用的布景帧和当时帧要完结一次差分运算需求一次写入和两次读出RAM的操作,而选用2个传统的双端口RAM不能到达所要完结的功用,需求4个双端口RAM才干完结,占用的资源将多一倍,因而这儿选用三端口RAM完结对布景帧和当时帧图画的存储,可以节约一半的RAM资源占用率。

(3)对图画存储的三端口RAM选用分时复用的办法,节约了资源占用率。一起将这两个三端口RAM的数据并行处理,同步完结对布景图画数据和当时帧图画数据的存取操作,而且将阈值模块、更新算法模块和差值模块选用流水线技能,可以很多节约对图画数据的处理时间。

3 改善型surendra布景更新算法的FPGA完结

(1)布景帧图画的树立与存储

整体硬件结构如图4所示。挑选模块A是一个挑选开关,用于操控前M帧的图画数据和第M+1帧及今后图画数据的输入流向。在前M帧时,挑选模块A将其每一帧的数据输入到均值模块中,均值模块将其每一帧图画数据的对应像素坐标的像素值相加,存入到双端口RAM A中,一起鄙人一帧图画数据输入到均值模块时将双端口RAM A中的图画数据输出,使其和下一帧对应的图画数据相加,并将成果从头存入RAM A中。当第M帧图画数据在均值模块中相加时,求对应图画像素坐标的均值,并将其均值输入到双端口RAM A进行锁存,一起挑选模块A将第M+1帧及其今后的图画数据输入到三端口RAM B中。

程序初始时,将前面的4帧图画数据(M=4)求均值。这儿所选用的图片尺寸是128×128,所以双端口RAM A为存储深度128×128,8 bit数据宽度。在第M帧有用数据输入到RAM A中时,即布景图画B0存入到了RAM A中。如图5所示。

(2)阈值T1挑选

在第M+1帧数据输入到三端口RAM B中时,RAM端口操控模块在RAM B写使能端WRB有用时发动RAM B 读端口Qa的读使能端RDBa有用,将第M+1帧数据读出。别离界说两个寄存器,将每个时钟来的有用数据进行比较,别离存储最大像素值和最小像素值,求出最大值和最小值之后,将两数相加并右移一位求取均值。此刻挑选模块B选通RAM A,RAM端口操控模块使其RAM A的读端口RDA有用。在第M+2帧今后,挑选模块B选通RAM B端口,封闭RAM A的读端口RDA。

(3)布景图画的更新

当RAM A的读端口RDA有用时, RAM B读端口Qa的读使能RDBa无效。在RDA有用后的第1个CLK的上升沿时,将双端口RAM A中的初始布景数据b0(i,j)和RAM C中读端口Qa的数据I1(i,j)读出到更新布景算法模块,此刻RAM C中读出的数据I1(i,j)=0。

更新布景算法模块RDA有用后的第2个CLK的上升沿时发动有用的判别,若输入的I1(i,j)与b0(i,j)满意Ik(i,j)<T1,则将此刻的布景像素值变换为b1(i,j)=ηI1(i,j)+(1-η)b0(i,j),不然b1(i,j)=b0(i,j)。当求出第一个新的布景值b0(0,0)时,更新布景算法模块一起使RAM C写端口WRC有用,将b1(i,j)输入到RAM C暂存。在第三个CLK的上升沿,发动RAM B读端口Qb的使能信号RDBb和RAM C读端口Qb的使能信号RDCb有用,同步读出当时帧的图画数据I1(i,j)和更新后的布景图画数据b0(i,j)。此刻第M+1帧的有用图画数据和当时帧的布景图画数据同步输出到差分模块中。使用流水线办法,顺次将第M+2帧及其今后的图画数据存入到RAM B中,并使用RAM B和RAM C进行布景更新,将更新后的布景数据与当时帧数据同步输出。这儿以η=0.875,即η=1/4+1/8来进行硬件规划,SEL用于判别是布景值不变仍是布景像素需求更新,DELAY用于确保数据的同步性。算法结构如图6所示。

选用Quartus II软件对体系进行归纳、仿真,体系在FPGA芯片中(EP2C70F672C6)完结。当选用50 MHz时钟处理图画巨细为128×128×8的灰度图画时,布景更新和方针物体的提取所需时间大约为0.755 4 ms。因为选用流水线及并行处理操作办法,使其布景更新、方针提取和差分处理同步进行,加快了处理速度,然后彻底可以确保图画体系的实时性。

4 试验验证

图7(a)为模型飞机在不同运动时间不同姿势的帧图画;图7(b)为固定阈值布景更新、更新速率为0.875时所提取到的方针飞机;图7(c)为动态阈值布景更新、更新速率也为0.875时所提取到的方针飞机。可见动态阈值能更有用习惯动态环境运动方针物体的提取。

本文针对改善型surendra布景更新算法原理的特色,结合硬件描绘言语以及RAM存储器,提出了改善型surendra布景更新算法的硬件完结计划,并在FPGA芯片中完结了对运动方针物体的实时提取,进步了对运动方针物体的提取速度,一起也减少了体系资源的占用率,确保了体系的实时性要求。本办法在图画处理中有着广泛的使用远景。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/196195.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部