嵌入式系统期末报告基于FPGA实时目标检测系统应用于无人飞行器Word文件下载.docx
- 文档编号:20592691
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:16
- 大小:360.73KB
嵌入式系统期末报告基于FPGA实时目标检测系统应用于无人飞行器Word文件下载.docx
《嵌入式系统期末报告基于FPGA实时目标检测系统应用于无人飞行器Word文件下载.docx》由会员分享,可在线阅读,更多相关《嵌入式系统期末报告基于FPGA实时目标检测系统应用于无人飞行器Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
由于其移动特性,无人机还被部署到了灾难地区,通过收集高分辨率的图像完成搜索救援行动[1]。
除此之外,无人机在交通监控的应用也被做过一些研究[2、3]。
因为大多数监控系统需要检测和跟踪感兴趣的对象,所以移动目标探测是无人机监控系统的一个典型的步骤[4]。
移动目标检测就是通过相机捕获的一系列视觉图像之中,定位移动对象(前景)在静态场景(背景)驻留的过程。
因为对象发生的位移需要在后续视频帧来定义其运动,所以至少需要对两个连续的视频帧进行处理。
如果在一个对象的在不同的时间间隔选定的帧,而它位于相同背景的两个不同位置,那么这个对象会被定义为一个移动的目标。
因此,在分割移动物体之前需要一个背景模型来表征即将到来的静态场景视频帧。
背景模型可以依据相机运动的类型来分类[5],相机运动类型包括了固定式相机,可转动变焦相机,自由平面场景移动相机,和具有自由几何复杂场景运动的摄像机。
移动物体在静止背景(静态摄像头)的检测和分割可以通过简单的执行背景减法技术得到[6-11],而图像配准技术需要在对象的分割之前,使移动背景(移动相机),包括涉及到的相机的自我估计和补偿,要跟之前选定的背景视频帧相匹配。
无人机视频航拍成像被人们视为平面的一种场景[12]。
平面场景的自我运动估计,可以通过单应性变换估计方法,例如建立仿射模型。
因此,移动物体可以通过登记记录的视频帧为估计模型并采用背景减法处理登记模型的手段被检测出来。
这种方法没有考虑到出现明显的深度变化的情况,虽然它会因为视差导致不正确的目标登记。
由于计算机视觉算法的复杂性,在航空成像检测移动目标会是一个十分耗费时间的过程。
检测移动目标实际也不完全依赖地面处理站无线电线路,因为视频质量将极大地取决于无线通信的速度和稳定性。
另外,完全自主的无人机是满足需要的,因为它可以在最少的人工干预条件下,针对检测目标进行操作和两者之间的反应[13]。
因此,自主无人机系统要求具有高机动性和高计算能力,来完成执行对系统平台本身的检测。
使用现场可编程门阵列(FPGA)将满足无人机系统的低功耗,高计算能力和小型电路要求。
FPGA系统是解决在移动平台的实时计算机视觉问题的一个好方案[14],它可以根据应用所需来重新配置来处理不同的任务。
文章介绍了FPGA在实现无人机的实时运动目标检测系统的应用。
检测算法利用图像配准技术,首先估计自我运动,然后从两个后续帧使用块匹配(成立匹配)和随机样本共识(RANSAC)算法。
完成补偿自我运动之后,帧差分,利用中值滤波和形态学方法都会被用于移动物体的分割。
本文的贡献如下:
(1)开发的实时移动目标检测芯片系统(SoC),640×
480像素的视频处理速度达到每秒30帧(fps);
(2)运动目标检测系统的实现雏形为集成低成本并且配备了TRDB-D5M相机的FPGA开发板--TerasicDE2-115,占领只有组合函数总量的13%和13%的总内存碎片;
(3)分区和管道调度检测算法的硬件/软件(HW/SW)代码——最大处理吞吐量。
(4)包括块匹配和对象分割模块的面向流的硬件加速器,能在一个周期操作一个像素。
(5)在不同密度的成立无人机自我运动估计和帧差分阈值情况下分析检测性能。
其余报告如下:
第二节讨论了运动目标检测的文献;
第三节讨论了运动目标检测算法;
第四节描述了SoC发展和专门的硬件架构的移动目标检测;
第五节介绍了检测结果的完整的原型;
第六节总结本文。
2.相关工作
在过去几十年天线视频或者无人机应用方面的移动目标检测定位就已经被广泛研究了。
全局运动补偿,运动检测和对象跟踪已经组成了一个开发框架[15]。
当作者们利用到累积帧差分和背景减法时,过去往往使用特征和基于梯度的技术的组合来补偿自运动从而达到天线视频车辆检测目的。
表1:
相关工作中FPGA对象检测在上文提出的系统中不同的应用的比较:
表1
文章研究[16]提出了通过使用基于分类器的梯度层次结构(方向梯度直方图)两种不同的方法来检测和跟踪移动车辆和人。
注释[17]文献的工作是:
提出了一个通过执行运动补偿,运动检测,包括数据捕获和协作控制模块的并行和跟踪的移动目标检测方法。
注释[18]文献中则提出了多个目标检测算法,这适应了在广域监视大量的移动目标的应用。
注释[19]文献提出了不同的高度下对移动目标的检测和跟踪,同时在UAV视频上捕获和显示移动目标。
在注释[20]文献提出了基于特征图像配准技术:
在无人机视频中检测运动目标。
该作者利用后续的视频帧角点,将它作为执行自运动估计和补偿特性的特征。
在注释[21]文献,航拍视频的多模型估计方法被提出,作为在复杂的背景探测移动物体的手段,该方法在检测中能够消除建筑物、树木和其他假警报。
因为这些文献专注于在不同的情况下改善检测算法,没有考虑到无人机自主调度,他们一般把系统改进成常见的平板电脑[17,19-21]或图形处理单元(GPU)加速环境[22]。
如表1所阐述,大多数基于FPGA的目标检测系统的文献都使用[6–11]静态照相机。
他们利用背景减法技术,如高斯混合模型(GMM)和视觉背景提取器来执行在静态背景视频的前景对象分割。
在[23]文献提出了基于FPGA运动目标检测的步行机器人。
他们使用基于硬件/软件一体设计系统的光流技术和帧差分技术,以此实现自运动估计。
也有一些文献提出基于FPGA无人机检测应用。
研究文献[24]在提出了一种使用基于FPGA的硬件/软件结合设计,进行无人机特征检测和跟踪。
软件在根据特征进行对象的跟踪时,作者一般使用专用硬件哈里斯特征检测器从航拍视频中提取对象特征。
无人机实时检测的实现,文献[13]中描述了一个例子:
根据汽车的形状,大小,和颜色来检测移动目标。
然而,在文献[13、24]进行的检测工作和基于对象特性进行的跟踪并不集中于移动目标。
基于FPGA的无人机目标检测回避系统应该有一个合适的运动目标检测算法,在文献[25]提出通过使用区域相位的相关技术,但是他们没有创建一个完整的FPGA系统原型装置。
此外,研究文献[26]也指出无人机航拍的硬件设计和实时自运动估计的架构。
因此,文献中只有数量有限的专注于发展一个完整的基于FPGA实时检测移动目标的无人机应用原型。
3.移动目标检测算法
因为无人机是一个移动的平台,所以在提出的移动目标检测算法采用了图像配准技术,它可以在目标分割之前完成自我运动补偿。
图像配准算法可以被分为基于特征和基于区域(基于强度)的方法[27,28]。
在基于特征的方法中,从两个后续的帧检测到的特征比如角[29,30]或冲浪[31],从中一个框架到另一个找到每个特征的运动是相互关联的。
据报道,在软件中实现基于特征的图像配准会计算的更快,因为无论像素数
的多少,它都只使用一个小数量的点去匹配。
然而被检测到的特征数量是无法预测的,因为它取决于所捕获的场景的帧,因此计算数量和要占用的存储资源也是不可预知的,这也导致很难在高度并行的硬件中实现特征检测。
我们可以通过排序或优先排序的得分(即特征强度)的额外步骤[24],从而出选择他们最强的特征,使特征的数目可以减少到一个可预测的常数。
然而,它提出了一些限制,因为只有高度纹理的像素区域会被选中,而忽略掉像素均匀区域[32]。
此外,基于特征的方法要求不规则地访问内存,这个方式不适合数据流访问模式的计算机硬件。
与之相反,基于区域的技术通过寻找从一个帧到另一个帧最类似的纹理的块(区),在框架之间构造了点对点的对应关系。
它适用于并行和流处理,因为它具备给硬件实现的几个优点:
1.它具有高度并行的操作的特性,使它适合在硬件中的实现并行处理。
2.它允许简单的控制流,不要求图像像素的不规则访问。
3.它具有固定大小的可预测的内存需求计算数据量。
该算法的整体流程化的图1。
它由两个主要的过程组成,即运动估计和对象分割。
在这项工作中使用基于区域的图像配准技术。
对系统的输入是当前和前一帧连续两灰度的视频帧。
首先,块匹配在这两个框架上进行产生点对点的帧间运动。
图1
无人机视频中的航空成像被假定为在平面场景有自由的相机运动与[5],并采用仿射模型估计自我运动。
然后用RANSAC来去除所有点之间的微小的运动(异常值),导致了属于仿射变换矩阵条件的自我运动。
在使用仿射变换矩阵中的参数保证前一帧与当前帧对齐之后,帧间差分可以通过像素相减两帧的像素进行排列,其次是经过阈值处理生成一个二值图像。
二值图像进行中值滤波和形态学处理的,可以消除噪声,使得只有检测到的移动目标凸显。
该算法是使100MHz的NiosII嵌入式软处理器可以在SoC环境运行。
然而,大多数在NiosII运行的进程都很慢,不足以实现实时性能。
为了实现一个实时的运动目标检测系统,在这项工作中的所有进程都必须在完全专用硬件加速器完成,除了部分硬件加速的RANSAC。
3.1.块匹配
块匹配包括两个步骤:
提取与匹配,这需要两个连续的帧。
提取过程将从一个框架模板存储几个块或图像像素的补丁,在匹配过程中,将在第二帧中找到它们最相似的块。
通过与以块的中心点的参考比较,从而产生许多对对应的点,这表明了两个连续的帧之间的点对点的运动(像素的运动)。
这两个框架的成对的点将被使用到RANSAC的自运动估计。
块提取是存储从一个视频帧的一个预定义的位置的9个像素的9个像素的无数块的过程。
这些块将被用作在匹配过程中的模板,模板块的位置均匀分布在图像上。
提取过程中没有数学计算,因为它是只涉及从视频流到临时存储器的图像修补程序的直接复制。
匹配过程中起到的作用是从当前帧的每一个提取的模板块找到最相似的块,而这些模板块都是从以前的框架提取的。
这是通过关联的模板块与下一个框架,在相似性度量的基础上找到他们相应的位置。
由于硬件实现简单,绝对差和被选作相关的匹配标准过程。
绝对差和也会在相似性错误评级(前一帧)和匹配块(从当前帧)之间,产生像素到像素相似性错误评级的相关性。
如果这两个块是由像素相同的像素,绝对差和将产生零的结果。
块匹配是计算密集型的,因为每个模板块必须在其搜索区域内通过执行的每个块的绝对差和,来搜索出其最相似的对。
一些减少计算量的搜索技术已经在文献提出了,它们通过减少搜索区域,如三步搜索技术[33,34],四步搜索技术[35],和钻石搜索[36]。
然而,这些技术大多数是针对那些在不规则的方式读取图像的通用处理器,所以是不适合的数据流硬件架构。
这项工作使用传统的全搜索技术[37],由于其定期访问图像的特性,所以它在流为导向的硬件执行是非常有效的。
它们所需的匹配计算量的数目是与块(密度)和相应的搜索区域的数目成比例的。
更高密度的块匹配给自运动估计提供了更多的点,以减少图像配准误差,但同时也提出了更高的硬件成本要求(硬件计算单元的数量)。
为了降低硬件成本,这项工作只利用了一个低密度块(基于区域的)匹配,而非对帧到帧的每一个像素的运动进行估计。
为了进一步优化面向数据流结构的硬件资源,最适合和不重叠搜索区域被用来确保只有对每个输入像素进行计算一个绝对差和。
对于一些行块m,和一些列块n,搜索区域被均匀地分布为每个块,并分别用图像宽度和图像高度制定一个表格,表示𝑠
𝑚
×
𝑠
𝑛
个像素。
制定的公式如下:
模板块位置(蓝色)和它们的相应的搜索区域(绿色)如图2所示。
在每个时钟周期中,只有一个模板块可以在它的相应的搜索区域与另一个块匹配。
因为每个模板块只会在其专用的搜索区域搜索,而不妨碍其他地区,整个块匹配过程只占用对整个图像处理的一个绝对差和计算单元,所以允许行m和列n在运行时上下文切换。
这个提出的方法是以相同的硬件成本为基础的,能够在不同的密度的区域执行。
然而,更高的密度降低了每个块的搜索区域,从而限制了流量位移(即每一点的行程距离)。
在水平和垂直的位移限制分别为𝑑
=±
𝑊
/2𝑚
和𝑑
𝐻
/2𝑛
。
由于无人机的位置和运动(高度、速度等)以及捕获的空中视频的帧速率会影响两个连续的帧之间点对点的位移,如果帧之间的点对点位移超过在水平𝑑
或垂直𝑑
,就会导致所提出的技术产生错误的图像配准结果。
3.2RANSAC
块匹配阶段之后,从两个连续的帧的一组点对运动(点对点运动)会被确定。
基于这些点对,自运动估计会被执行。
在这些点对之中通常出现异常值(矛盾运动),而RANSAC算法就是被应用至从数据中删除异常。
RANSAC是目前最好的迭代算法,它可以描述两个后续帧变换的仿射模型。
不同于传统的RANSAC算法[38],这个项目使用一个上限的时间限定RANSAC算法的计算(类似于[39]),而无论实时迭代次数大小(如算法1所示)。
在每次迭代中,RANSAC算法选择三个不同的点对作为随机样本。
然后仿射变换的假设模型就会从所选择的样本的基础上建立:
在ℎi表示仿射模型的参数进行估计,𝑥
𝑖
和𝑦
是选择的采样点的坐标,𝑥
'
代表他们的对应点对。
图2:
在相同的硬件成本前提下,块匹配的视频帧中模板块(蓝色)和搜索区域(绿色)的位置
文献[40]𝑇
𝑑
试验提出的应用于算法,如果假设模型距离实际很大,就会跳过以下步骤(步骤(4)和(5))来加快RANSAC计算速度。
然后假设的合适度会被评估,并通过拟合其参数对所有点对评分。
最好的假设模型会在每一次迭代不断地更新,RANSAC把到达上限时间终止的结果作为最终的结果。
因为RANSAC在全部的运动目标检测算法之中是计算量最少的,所以它作为软件程序只与合适度评分步骤(步骤4)一起被硬件加速。
合适度评分是对一个假设的适应度的计算,它是对面向所有输入数据(点对从块匹配)的模型,如算法2中所描述的那样。
如果拟合误差小于一个预定义的距离阈值,则每个数据被认为在范围之内,阈值th(dist)反之亦然。
合适度评分是其拟合误差,而离群点为常数阈值th(dist)。
合适度得分通过积累所有的个人分数为每个数据计算结果,一个完美的拟合将有零计算得分。
由于合适度得分是所有数据的一个迭代过程,计算数量增加与数据的大小有关。
RANSAC是一个随机算法,当给予有限的迭代时它可能不会产生最佳仿射模型。
3.3对象分割
自运动估计完成后,两个连续的帧之间的相机运动要在对象的前景检测之前完成补偿。
前一帧会被转换,并且通过RANSAC算法估计仿射参数,实现与当前帧的拼接。
逆向映射技术被应用于计算源图像中的目标像素相应位置。
仿射变换方程显示在哪里,𝑥
和𝑦
是图像目标像素的坐标,𝑥
表示对应的源图像像素坐标,ℎ𝑖
是RANSAC算法估计的最适合仿射参数。
各参数关系如下:
3.4流水线调度
为了建立一个数据流媒体视频的实时运动目标检测系统,应该利用适当的流水线调度,可以充分发挥系统的整体吞吐量。
该算法可以通过每个独立的工作在不同帧的硬件加速器划分为几个子过程,直到检测周期结束之前,将中间结果从一个过程转到另一个过程。
因此,在每一个固定的延迟后,系统总是产生一个输出。
整个过程分为四个阶段,如图3所示。
4.运动目标检测系统的提出
运动目标检测系统的开发原型为基于DE2-115开发板的友晶AlteraCycloneIVFPGA设备。
该系统由硬件/软件协同设计,在硬件是专用加速器,算法是利用Verilog硬件描述语言(HDL)经过执行软件程序编码得到,它使用NiosII软核处理器,其中软件存储器为SDRAM。
运动目标检测系统架构如图4所示。
图3
图4
4对象分割
4.1运动目标检测的硬件加速
移动目标检测器的硬件结构显示在图5。
它的组成部分是运动估计核,对象分割的核,图像采集卡以及其他接口。
图5
4.2运动估计硬件加速器
运动估计的核心由块匹配和RANSAC硬件加速器组成。
因为RANSAC需要点对的完整数据,点对由块匹配计算提供,因此需要额外的缓冲区暂存每两个后续帧对应的点对。
运动估计过程的硬件结构如图6所示。
图6
4.2.1块匹配硬件加速器
图7显示了块匹配硬件加速器的体系结构,执行模板块是从一个帧和下一帧的模板块匹配中提取的,这些模板块都在相应的搜索区域内。
整个过程都在数据流中完成,不需要缓冲整个帧就能得到两个后续帧的点对点运动(点对)。
图7
4.2.2RANSAC算法的硬件加速器
RANSAC的硬件设计利用在这项工作中只有加快合适度得分计算一步。
在算法2中描述的,合适度得分是一个迭代的过程,它把假设模型基础上所有的数据样本进行类似的计算。
这一数据密集型过程中执行流水线的数据通路如图8所示。
控制单元用于读取输入的数据,每个时钟周期内,块匹配的缓冲和数据流这些通路单元都会提供输入数据。
图8
4.3对象分割硬件结构
对象的分割可以在一个光栅扫描执行,面向流的架构如图9所示。
所有子进程都在流媒体视频管道中被执行的,同时没有额外的帧缓冲。
对象分割过程是由软件处理器设置仿射PE为仿射参数,进而执行RANSAC算法。
从帧缓冲区的两帧(SRAM)需要分割运动目标。
图9
5实验结果
5.1片上系统执行验证
移动目标检测系统验证使用数据库中的离线检测模式。
测试影片大小是640×
480像素,并在验证过程之前进行了灰度压缩,测试视频通过系统被传送到一个USB海量存储设备。
在SOC进行检测后,结果会显示在VGA图像,同时也存储在USB驱动提供给后来的验证。
图10显示了使用不同的采样视频,片上系统的运动目标检测结果。
检测到的区域(红色)叠加在输入框。
在大多数情况下,片2上系统是能够检测到连续帧中的运动目标。
5.2检测算法的性能评价
检测算法实现的性能评价使用数学性能指标,并涉及到几个参数:
1、真阳性(TP):
检测到的运动物体;
2、假阳性(FP):
检测区域中任何不符合的移动物体;
3、假阴性(FN):
不被检测到的移动对象;
4、检出率(DR):
TP/(TP+FN)
5、误报率(FAR):
FP/(TP+FP)
5.3对比全软件实现的速度
文章提出的运动目标检测系统的计算速度与不同平台上的软件计算做了比较,包括现代的桌面计算机CPU(英特尔酷睿i5)和嵌入式处理器(ARM)。
在使用相同测试视频[41]情况下,通过比较计算帧速率以及系统硬件和软件实现之间的加速,得出比较结果,如图11所示。
图10
图11
5.4资源利用
完整的系统的硬件资源利用率如图12。
实时运动物体检测系统的原型利用仅占用AlteraCycloneIVFPGA设备总资百分之20。
由于该系统的帧缓冲采用片外存储器元件,FPGA芯片的存储器是缓冲流过程线(例如,块匹配和中值滤波)和中间结果存储(例如,点对后,块匹配)。
因此,系统的低资源利用恰好为其他过程提供了丰富的硬件空间,比如未来发展出来的目标跟踪或分类。
图12
6.结论
计算机视觉中最关键的一步是运动目标检测,尤其是无人机的应用十分重要。
在芯片检测问题,而不需要实时视频传输到地面将提供巨大的好处,如应用到军事,监控和资源勘探等不同的领域。
为了让这一复杂的嵌入式视频处理芯片执行,基于FPGA系统潜在的并行算法是可取的。
本文提出了一种采用FPGA的自主无人机运动目标检测系统,它能够在飞行平台上执行的计算机视觉算法。
该系统的原型是Altera公司的CycloneIVFPGA设备友晶科技DE2-115开发板上,开发板上安装有一个TRDB-D5M相机。
本系统的开发基于一个软硬件的协同设计,它采用了专用的硬件与时钟速率100MHz的NiosII软件运行处理器(嵌入式Linux系统)。
由于面向流的硬件采用流水线结构,所提出的系统具有强大的实时能力:
即使是480*640的实时视频也能够以每秒30帧每秒的处理速度进行处理。
实验结果表明,提出的SOC方案执行速度比现代桌面计算机的优化软件计算(英特尔酷睿i5)要快2.29倍,比嵌入式处理器(ARM)快53.57倍。
此外,文章提出的运动目标检测功能仅仅使用了FPGA设备总资源的百分之20以下,同时也允许后来加入其他硬件加速器。
相互竞争的利益
作者宣称他们没有竞争利益。
致谢
作者想向以下单位表达感激之情:
马来西亚工艺大学(UTM)和科技部,技术与创新(MOSTI),马来西亚,支持这方面的研究工作,在研究01-01-06-sf1197和01-01-06-sf1229。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 期末 报告 基于 FPGA 实时 目标 检测 应用于 无人 飞行器